BSD 4 release
[unix-history] / usr / src / cmd / write.c
index 205ffb0..626a98f 100644 (file)
@@ -1,3 +1,4 @@
+static char *sccsid = "@(#)write.c     4.2 (Berkeley) 11/10/80";
 /*
  * write to another user
  */
 /*
  * write to another user
  */
@@ -9,6 +10,9 @@
 #include <utmp.h>
 #include <time.h>
 
 #include <utmp.h>
 #include <time.h>
 
+#define NMAX sizeof(ubuf.ut_name)
+#define LMAX sizeof(ubuf.ut_line)
+
 char   *strcat();
 char   *strcpy();
 struct utmp ubuf;
 char   *strcat();
 char   *strcpy();
 struct utmp ubuf;
@@ -59,8 +63,10 @@ char *argv[];
                strcat(histty, histtya);
        }
        while (fread((char *)&ubuf, sizeof(ubuf), 1, uf) == 1) {
                strcat(histty, histtya);
        }
        while (fread((char *)&ubuf, sizeof(ubuf), 1, uf) == 1) {
+               if (ubuf.ut_name[0] == '\0')
+                       continue;
                if (strcmp(ubuf.ut_line, mytty)==0) {
                if (strcmp(ubuf.ut_line, mytty)==0) {
-                       for(i=0; i<8; i++) {
+                       for(i=0; i<NMAX; i++) {
                                c1 = ubuf.ut_name[i];
                                if(c1 == ' ')
                                        c1 = 0;
                                c1 = ubuf.ut_name[i];
                                if(c1 == ' ')
                                        c1 = 0;
@@ -70,7 +76,7 @@ char *argv[];
                        }
                }
                if(him[0] != '-' || him[1] != 0)
                        }
                }
                if(him[0] != '-' || him[1] != 0)
-               for(i=0; i<8; i++) {
+               for(i=0; i<NMAX; i++) {
                        c1 = him[i];
                        c2 = ubuf.ut_name[i];
                        if(c1 == 0)
                        c1 = him[i];
                        c2 = ubuf.ut_name[i];
                        if(c1 == 0)