=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/rcs.c,v retrieving revision 1.47 retrieving revision 1.48 diff -c -r1.47 -r1.48 *** src/usr.bin/rcs/rcs.c 2008/05/11 12:13:41 1.47 --- src/usr.bin/rcs/rcs.c 2008/09/17 06:47:57 1.48 *************** *** 1,4 **** ! /* $OpenBSD: rcs.c,v 1.47 2008/05/11 12:13:41 tobias Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: rcs.c,v 1.48 2008/09/17 06:47:57 reyk Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 1350,1355 **** --- 1350,1356 ---- time_t now; struct passwd *pw; struct rcs_delta *ordp, *rdp; + uid_t uid; if (rev == RCS_HEAD_REV) { if (rf->rf_flags & RCS_CREATE) { *************** *** 1367,1373 **** } } ! if ((pw = getpwuid(getuid())) == NULL) errx(1, "getpwuid failed"); rdp = xcalloc(1, sizeof(*rdp)); --- 1368,1375 ---- } } ! uid = getuid(); ! if ((pw = getpwuid(uid)) == NULL) errx(1, "getpwuid failed"); rdp = xcalloc(1, sizeof(*rdp)); *************** *** 1385,1392 **** rcsnum_cpy(ordp->rd_num, rdp->rd_next, 0); } ! ! if (username == NULL) username = pw->pw_name; rdp->rd_author = xstrdup(username); --- 1387,1395 ---- rcsnum_cpy(ordp->rd_num, rdp->rd_next, 0); } ! if (uid == 0) ! username = getlogin(); ! if (username == NULL || *username == '\0') username = pw->pw_name; rdp->rd_author = xstrdup(username);