]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - hack/hack.unix.c
PR/55693: Andreas Gustafsson: factor(6) lists factors in wrong order
[bsdgames-darwin.git] / hack / hack.unix.c
index 23425ef5a8bb8f41d7a8e0b902043242c55d7a75..811aedc1a685bbcfd4e5161f007eb3029467b581 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: hack.unix.c,v 1.11 2009/06/07 18:30:39 dholland Exp $  */
+/*     $NetBSD: hack.unix.c,v 1.18 2019/02/03 10:48:46 mrg Exp $       */
 
 /*
  * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica,
@@ -63,7 +63,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: hack.unix.c,v 1.11 2009/06/07 18:30:39 dholland Exp $");
+__RCSID("$NetBSD: hack.unix.c,v 1.18 2019/02/03 10:48:46 mrg Exp $");
 #endif                         /* not lint */
 
 /* This file collects some Unix dependencies; hack.pager.c contains some more */
@@ -95,6 +95,9 @@ __RCSID("$NetBSD: hack.unix.c,v 1.11 2009/06/07 18:30:39 dholland Exp $");
 
 extern int locknum;
 
+static struct tm *getlt(void);
+static int veryold(int);
+
 
 void
 setrandom(void)
@@ -102,7 +105,7 @@ setrandom(void)
        (void) srandom((int) time((time_t *) 0));
 }
 
-struct tm      *
+static struct tm *
 getlt(void)
 {
        time_t          date;
@@ -120,10 +123,10 @@ getyear(void)
 char           *
 getdatestr(void)
 {
-       static char     datestr[7];
+       static char     datestr[32];
        struct tm      *lt = getlt();
 
-       (void) sprintf(datestr, "%02d%02d%02d",
+       (void) snprintf(datestr, sizeof(datestr), "%02d%02d%02d",
                       lt->tm_year % 100, lt->tm_mon + 1, lt->tm_mday);
        return (datestr);
 }
@@ -159,7 +162,7 @@ midnight(void)
        return (getlt()->tm_hour == 0);
 }
 
-struct stat     buf, hbuf;
+static struct stat buf, hbuf;
 
 void
 gethdate(char *name)
@@ -192,11 +195,11 @@ gethdate(char *name)
                if ((np = strchr(path, ':')) == NULL)
                        np = path + strlen(path);       /* point to end str */
                if (np - path <= 1)     /* %% */
-                       (void) strcpy(filename, name);
+                       (void) strlcpy(filename, name, sizeof(filename));
                else {
-                       (void) strncpy(filename, path, np - path);
-                       filename[np - path] = '/';
-                       (void) strcpy(filename + (np - path) + 1, name);
+                       (void) snprintf(filename, sizeof(filename),
+                               "%.*s/%s",
+                               (int)(np - path), path, name);
                }
                if (stat(filename, &hbuf) == 0)
                        return;
@@ -224,7 +227,7 @@ uptodate(int fd)
 }
 
 /* see whether we should throw away this xlock file */
-int
+static int
 veryold(int fd)
 {
        int             i;
@@ -239,7 +242,7 @@ veryold(int fd)
                int             lockedpid;      /* should be the same size as
                                                 * hackpid */
 
-               if (read(fd, (char *) &lockedpid, sizeof(lockedpid)) !=
+               if (read(fd, &lockedpid, sizeof(lockedpid)) !=
                    sizeof(lockedpid))
                        /* strange ... */
                        return (0);
@@ -324,7 +327,7 @@ gotlock:
        if (fd == -1) {
                error("cannot creat lock file.");
        } else {
-               if (write(fd, (char *) &hackpid, sizeof(hackpid))
+               if (write(fd, &hackpid, sizeof(hackpid))
                    != sizeof(hackpid)) {
                        error("cannot write lock");
                }
@@ -503,7 +506,7 @@ readmail(void)
        if (!(mr = getenv("MAILREADER")))
                mr = DEF_MAILREADER;
        if (child(1)) {
-               execl(mr, mr, (char *) 0);
+               execl(mr, mr, (char *)NULL);
                exit(1);
        }
 #else  /* DEF_MAILREADER */