=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/rcsclean.c,v retrieving revision 1.16 retrieving revision 1.17 diff -c -r1.16 -r1.17 *** src/usr.bin/rcs/rcsclean.c 2005/11/23 09:39:20 1.16 --- src/usr.bin/rcs/rcsclean.c 2005/11/25 14:16:44 1.17 *************** *** 1,4 **** ! /* $OpenBSD: rcsclean.c,v 1.16 2005/11/23 09:39:20 xsa Exp $ */ /* * Copyright (c) 2005 Joris Vink * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: rcsclean.c,v 1.17 2005/11/25 14:16:44 xsa Exp $ */ /* * Copyright (c) 2005 Joris Vink * All rights reserved. *************** *** 42,57 **** static int nflag = 0; static int kflag = RCS_KWEXP_ERR; static int uflag = 0; int rcsclean_main(int argc, char **argv) { ! int i, ch, flags; RCSNUM *rev; DIR *dirp; struct dirent *dp; - flags = 0; rev = RCS_HEAD_REV; while ((ch = rcs_getopt(argc, argv, "k:n::q::r:Tu::Vx:")) != -1) { --- 42,57 ---- static int nflag = 0; static int kflag = RCS_KWEXP_ERR; static int uflag = 0; + static int flags = 0; int rcsclean_main(int argc, char **argv) { ! int i, ch; RCSNUM *rev; DIR *dirp; struct dirent *dp; rev = RCS_HEAD_REV; while ((ch = rcs_getopt(argc, argv, "k:n::q::r:Tu::Vx:")) != -1) { *************** *** 137,142 **** --- 137,143 ---- BUF *b1, *b2; char *s1, *s2, *c1, *c2; struct stat st; + time_t rcs_mtime = -1; match = 1; *************** *** 149,154 **** --- 150,158 ---- if ((file = rcs_open(fpath, RCS_RDWR)) == NULL) return (-1); + if (flags & PRESERVETIME) + rcs_mtime = rcs_get_mtime(file->rf_path); + if (!RCS_KWEXP_INVAL(kflag)) rcs_kwexp_set(file, kflag); *************** *** 205,209 **** --- 209,217 ---- } rcs_close(file); + + if (flags & PRESERVETIME) + rcs_set_mtime(fpath, rcs_mtime); + return (0); }