=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/rcsclean.c,v retrieving revision 1.30 retrieving revision 1.31 diff -c -r1.30 -r1.31 *** src/usr.bin/rcs/rcsclean.c 2006/04/12 08:23:30 1.30 --- src/usr.bin/rcs/rcsclean.c 2006/04/13 00:58:25 1.31 *************** *** 1,4 **** ! /* $OpenBSD: rcsclean.c,v 1.30 2006/04/12 08:23:30 ray Exp $ */ /* * Copyright (c) 2005 Joris Vink * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: rcsclean.c,v 1.31 2006/04/13 00:58:25 ray Exp $ */ /* * Copyright (c) 2005 Joris Vink * All rights reserved. *************** *** 29,35 **** #include "rcsprog.h" #include "diff.h" ! static void rcsclean_file(char *, RCSNUM *); static int nflag = 0; static int kflag = RCS_KWEXP_ERR; --- 29,35 ---- #include "rcsprog.h" #include "diff.h" ! static void rcsclean_file(char *, const char *); static int nflag = 0; static int kflag = RCS_KWEXP_ERR; *************** *** 107,124 **** while ((dp = readdir(dirp)) != NULL) { if (dp->d_type == DT_DIR) continue; ! rcs_set_rev(rev_str, &rev); ! rcsclean_file(dp->d_name, rev); ! rcsnum_free(rev); } closedir(dirp); } else ! for (i = 0; i < argc; i++) { ! rcs_set_rev(rev_str, &rev); ! rcsclean_file(argv[i], rev); ! rcsnum_free(rev); ! } return (0); } --- 107,119 ---- while ((dp = readdir(dirp)) != NULL) { if (dp->d_type == DT_DIR) continue; ! rcsclean_file(dp->d_name, rev_str); } closedir(dirp); } else ! for (i = 0; i < argc; i++) ! rcsclean_file(argv[i], rev_str); return (0); } *************** *** 132,145 **** } static void ! rcsclean_file(char *fname, RCSNUM *rev) { int match; RCSFILE *file; char fpath[MAXPATHLEN], numb[64]; ! RCSNUM *frev; BUF *b1, *b2; ! char *s1, *s2, *c1, *c2; struct stat st; time_t rcs_mtime = -1; --- 127,140 ---- } static void ! rcsclean_file(char *fname, const char *rev_str) { int match; RCSFILE *file; char fpath[MAXPATHLEN], numb[64]; ! RCSNUM *rev; BUF *b1, *b2; ! char *c1, *c2; struct stat st; time_t rcs_mtime = -1; *************** *** 159,170 **** rcs_kwexp_set(file, kflag); ! if (rev == RCS_HEAD_REV) ! frev = file->rf_head; ! else ! frev = rev; ! if ((b1 = rcs_getrev(file, frev)) == NULL) { cvs_log(LP_ERR, "failed to get needed revision"); rcs_close(file); return; --- 154,169 ---- rcs_kwexp_set(file, kflag); ! if (rev_str == NULL) ! rev = file->rf_head; ! else if ((rev = rcs_getrevnum(rev_str, file)) == NULL) { ! cvs_log(LP_ERR, "%s: Symbolic name `%s' is undefined.", ! fpath, rev_str); ! rcs_close(file); ! return; ! } ! if ((b1 = rcs_getrev(file, rev)) == NULL) { cvs_log(LP_ERR, "failed to get needed revision"); rcs_close(file); return; *************** *** 182,193 **** c1 = cvs_buf_release(b1); c2 = cvs_buf_release(b2); ! for (s1 = c1, s2 = c2; *s1 && *s2; s1++, s2++) { ! if (*s1 != *s2) { ! match = 0; ! break; ! } ! } xfree(c1); xfree(c2); --- 181,189 ---- c1 = cvs_buf_release(b1); c2 = cvs_buf_release(b2); ! /* XXX - Compare using cvs_buf_len() first. */ ! if (strcmp(c1, c2) != 0) ! match = 0; xfree(c1); xfree(c2); *************** *** 196,205 **** if ((uflag == 1) && (!TAILQ_EMPTY(&(file->rf_locks)))) { if ((verbose == 1) && (nflag == 0)) { printf("rcs -u%s %s\n", ! rcsnum_tostr(frev, numb, sizeof(numb)), fpath); } ! (void)rcs_lock_remove(file, locker, frev); } if (TAILQ_EMPTY(&(file->rf_locks))) { --- 192,201 ---- if ((uflag == 1) && (!TAILQ_EMPTY(&(file->rf_locks)))) { if ((verbose == 1) && (nflag == 0)) { printf("rcs -u%s %s\n", ! rcsnum_tostr(rev, numb, sizeof(numb)), fpath); } ! (void)rcs_lock_remove(file, locker, rev); } if (TAILQ_EMPTY(&(file->rf_locks))) {