version 1.10, 2005/10/19 18:28:13 |
version 1.11, 2005/10/29 09:27:02 |
|
|
static int rcsclean_file(char *, RCSNUM *); |
static int rcsclean_file(char *, RCSNUM *); |
static int nflag = 0; |
static int nflag = 0; |
static int kflag = RCS_KWEXP_ERR; |
static int kflag = RCS_KWEXP_ERR; |
|
static int uflag = 0; |
|
|
int |
int |
rcsclean_main(int argc, char **argv) |
rcsclean_main(int argc, char **argv) |
|
|
|
|
rev = RCS_HEAD_REV; |
rev = RCS_HEAD_REV; |
|
|
while ((ch = rcs_getopt(argc, argv, "k:nqr:V")) != -1) { |
while ((ch = rcs_getopt(argc, argv, "k:nqr:uV")) != -1) { |
switch (ch) { |
switch (ch) { |
case 'k': |
case 'k': |
kflag = rcs_kflag_get(rcs_optarg); |
kflag = rcs_kflag_get(rcs_optarg); |
|
|
case 'r': |
case 'r': |
rcs_set_rev(rcs_optarg, &rev); |
rcs_set_rev(rcs_optarg, &rev); |
break; |
break; |
|
case 'u': |
|
uflag = 1; |
|
break; |
case 'V': |
case 'V': |
printf("%s\n", rcs_version); |
printf("%s\n", rcs_version); |
exit(0); |
exit(0); |
|
|
rcsclean_usage(void) |
rcsclean_usage(void) |
{ |
{ |
fprintf(stderr, |
fprintf(stderr, |
"usage: rcsclean [-nqV] [-kmode] [-rrev] [file] ...\n"); |
"usage: rcsclean [-nquV] [-kmode] [-rrev] [file] ...\n"); |
} |
} |
|
|
static int |
static int |
|
|
{ |
{ |
int match; |
int match; |
RCSFILE *file; |
RCSFILE *file; |
char fpath[MAXPATHLEN]; |
char fpath[MAXPATHLEN], numb[64]; |
RCSNUM *frev; |
RCSNUM *frev; |
BUF *b1, *b2; |
BUF *b1, *b2; |
char *s1, *s2, *c1, *c2; |
char *s1, *s2, *c1, *c2; |
|
|
free(c2); |
free(c2); |
|
|
if (match == 1) { |
if (match == 1) { |
|
if (uflag == 1) { |
|
if ((verbose == 1) && (nflag == 0)) { |
|
printf("rcs -u%s %s\n", |
|
rcsnum_tostr(frev, numb, sizeof(numb)), |
|
fpath); |
|
} |
|
|
|
(void)rcs_lock_remove(file, frev); |
|
} |
|
|
if (verbose == 1) |
if (verbose == 1) |
printf("rm -f %s\n", fname); |
printf("rm -f %s\n", fname); |
if (nflag == 0) |
|
|
if ((nflag == 0) && (TAILQ_EMPTY(&(file->rf_locks)))) |
(void)unlink(fname); |
(void)unlink(fname); |
} |
} |
|
|