=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/finger/finger.c,v retrieving revision 1.7 retrieving revision 1.8 diff -c -r1.7 -r1.8 *** src/usr.bin/finger/finger.c 1997/05/30 23:35:51 1.7 --- src/usr.bin/finger/finger.c 1998/07/10 15:45:15 1.8 *************** *** 1,4 **** ! /* $OpenBSD: finger.c,v 1.7 1997/05/30 23:35:51 kstailey Exp $ */ /* * Copyright (c) 1989 The Regents of the University of California. --- 1,4 ---- ! /* $OpenBSD: finger.c,v 1.8 1998/07/10 15:45:15 mickey Exp $ */ /* * Copyright (c) 1989 The Regents of the University of California. *************** *** 54,60 **** #ifndef lint /*static char sccsid[] = "from: @(#)finger.c 5.22 (Berkeley) 6/29/90";*/ ! static char rcsid[] = "$OpenBSD: finger.c,v 1.7 1997/05/30 23:35:51 kstailey Exp $"; #endif /* not lint */ /* --- 54,60 ---- #ifndef lint /*static char sccsid[] = "from: @(#)finger.c 5.22 (Berkeley) 6/29/90";*/ ! static char rcsid[] = "$OpenBSD: finger.c,v 1.8 1998/07/10 15:45:15 mickey Exp $"; #endif /* not lint */ /* *************** *** 77,82 **** --- 77,83 ---- #include #include #include + #include #include "finger.h" #include "extern.h" *************** *** 90,95 **** --- 91,97 ---- char **argv; { extern int optind; + extern char *__progname; int ch; char domain[256]; *************** *** 121,127 **** case '?': default: (void)fprintf(stderr, ! "usage: finger [-lmMpsho] [login ...]\n"); exit(1); } argc -= optind; --- 123,129 ---- case '?': default: (void)fprintf(stderr, ! "usage: %s [-lmMpsho] [login ...]\n", __progname); exit(1); } argc -= optind; *************** *** 171,180 **** struct utmp user; char name[UT_NAMESIZE + 1]; ! if (!freopen(_PATH_UTMP, "r", stdin)) { ! (void)fprintf(stderr, "finger: can't read %s.\n", _PATH_UTMP); ! exit(2); ! } name[UT_NAMESIZE] = '\0'; while (fread((char *)&user, sizeof(user), 1, stdin) == 1) { if (!user.ut_name[0]) --- 173,180 ---- struct utmp user; char name[UT_NAMESIZE + 1]; ! if (!freopen(_PATH_UTMP, "r", stdin)) ! err(2, _PATH_UTMP); name[UT_NAMESIZE] = '\0'; while (fread((char *)&user, sizeof(user), 1, stdin) == 1) { if (!user.ut_name[0]) *************** *** 203,212 **** struct passwd *pw; int dolocal, *used; ! if (!(used = (int *)calloc((u_int)argc, (u_int)sizeof(int)))) { ! (void)fprintf(stderr, "finger: out of space.\n"); ! exit(1); ! } /* pull out all network requests */ for (i = 0, dolocal = 0, nettail = &nethead; i < argc; i++) { --- 203,210 ---- struct passwd *pw; int dolocal, *used; ! if (!(used = (int *)calloc((u_int)argc, (u_int)sizeof(int)))) ! err(2, "malloc"); /* pull out all network requests */ for (i = 0, dolocal = 0, nettail = &nethead; i < argc; i++) { *************** *** 247,254 **** /* list errors */ for (i = 0; i < argc; i++) if (!used[i]) ! (void)fprintf(stderr, ! "finger: %s: no such user.\n", argv[i]); /* handle network requests */ net: for (pn = nethead; pn; pn = pn->next) { --- 245,251 ---- /* list errors */ for (i = 0; i < argc; i++) if (!used[i]) ! warnx("%s: no such user.", argv[i]); /* handle network requests */ net: for (pn = nethead; pn; pn = pn->next) { *************** *** 264,273 **** * Scan thru the list of users currently logged in, saving * appropriate data whenever a match occurs. */ ! if (!freopen(_PATH_UTMP, "r", stdin)) { ! (void)fprintf( stderr, "finger: can't read %s.\n", _PATH_UTMP); ! exit(1); ! } while (fread((char *)&user, sizeof(user), 1, stdin) == 1) { if (!user.ut_name[0]) continue; --- 261,268 ---- * Scan thru the list of users currently logged in, saving * appropriate data whenever a match occurs. */ ! if (!freopen(_PATH_UTMP, "r", stdin)) ! err(1, _PATH_UTMP); while (fread((char *)&user, sizeof(user), 1, stdin) == 1) { if (!user.ut_name[0]) continue;