--- /dev/null
+--- bsd-finger-0.10/finger/util.c.pts Thu Apr 8 13:49:11 1999
++++ bsd-finger-0.10/finger/util.c Thu Apr 8 13:51:49 1999
+@@ -68,9 +68,15 @@
+ return;
+ snprintf(tbuf, TBUFLEN, "%s/%s", _PATH_DEV, w->tty);
+ if (stat(tbuf, &sb) < 0) {
++ switch(errno) {
++ case ENOENT:
++ break;
++ default:
+ (void)fprintf(stderr,
+ "finger: %s: %s\n", tbuf, strerror(errno));
+- return;
++ break;
++ }
++ return;
+ }
+ w->idletime = now < sb.st_atime ? 0 : now - sb.st_atime;
+
+--- bsd-finger-0.10/finger/sprint.c.pts Thu Apr 8 14:20:51 1999
++++ bsd-finger-0.10/finger/sprint.c Thu Apr 8 14:38:32 1999
+@@ -90,7 +90,7 @@
+ if (maxlname + maxrname < space-2) { maxlname++; maxrname++; }
+
+ (void)printf("%-*s %-*s %s\n", maxlname, "Login", maxrname,
+- "Name", "Tty Idle Login Time Office Office Phone");
++ "Name", " Tty Idle Login Time Office Office Phone");
+ for (cnt = 0; cnt < entries; ++cnt) {
+ pn = list[cnt];
+ for (w = pn->whead; w != NULL; w = w->next) {
+@@ -103,12 +103,14 @@
+ }
+ (void)putchar(w->info == LOGGEDIN && !w->writable ?
+ '*' : ' ');
+- if (*w->tty)
+- (void)printf("%-2.2s ",
+- w->tty[0] != 't' || w->tty[1] != 't' ||
+- w->tty[2] != 'y' ? w->tty : w->tty + 3);
+- else
+- (void)printf(" ");
++ if (*w->tty) {
++ char *t = w->tty;
++ if ((t[0] == 't' && t[1] == 't' && t[2] == 'y')
++ || (t[0] == 'p' && t[1] == 't' && t[2] == 's'))
++ t += 3;
++ (void)printf("%-4.4s ", t);
++ } else
++ (void)printf(" ");
+ if (w->info == LOGGEDIN) {
+ stimeprint(w);
+ (void)printf(" ");