]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - larn/bill.c
properly terminate after using strncpy().
[bsdgames-darwin.git] / larn / bill.c
index 0006482f377423142283ca770a741295c0e40c35..961c424a14073b15a2db65bb19837ffbb4beec50 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: bill.c,v 1.8 2008/01/28 05:38:53 dholland Exp $         */
+/*     $NetBSD: bill.c,v 1.11 2011/08/29 20:30:37 joerg Exp $   */
 
 /*-
  * Copyright (c) 1991 The Regents of the University of California.
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "@(#)bill.c     5.2 (Berkeley) 5/28/91";
 #else
-__RCSID("$NetBSD: bill.c,v 1.8 2008/01/28 05:38:53 dholland Exp $");
+__RCSID("$NetBSD: bill.c,v 1.11 2011/08/29 20:30:37 joerg Exp $");
 #endif
 #endif /* not lint */
 
@@ -44,12 +44,13 @@ __RCSID("$NetBSD: bill.c,v 1.8 2008/01/28 05:38:53 dholland Exp $");
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <paths.h>
 #include "header.h"
 #include "extern.h"
 
 /* bill.c               Larn is copyrighted 1986 by Noah Morgan. */
 
-const char *mail[] = {
+static const char *mail[] = {
        "From: the LRS (Larn Revenue Service)\n",
        "~s undeclared income\n",
        "\n   We have heard you survived the caverns of Larn.  Let me be the",
@@ -118,7 +119,7 @@ const char *mail[] = {
  */
 
 void
-mailbill()
+mailbill(void)
 {
        int    i;
        char   fname[32];
@@ -130,10 +131,9 @@ mailbill()
        if (fork() == 0) {
                resetscroll();
                cp = mail;
-               snprintf(fname, sizeof(fname), "/tmp/#%dlarnmail", getpid());
+               snprintf(fname, sizeof(fname), "%slarnmail.XXXXXX", _PATH_TMP);
                for (i = 0; i < 6; i++) {
-                       if ((fd = open(fname, O_WRONLY | O_TRUNC | O_CREAT,
-                                      0666)) == -1)
+                       if ((fd = mkstemp(fname)) == -1)
                                exit(0);
                        while (*cp != NULL) {
                                if (*cp[0] == '1') {