]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - adventure/setup.c
From gson@
[bsdgames-darwin.git] / adventure / setup.c
index d949debf6b35633d25d1d8a6b71e37cda254b96d..36a7c0e9c7b9b3d798280acd0d8b557a2a0e5d66 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: setup.c,v 1.4 1997/10/11 01:55:30 lukem Exp $  */
+/* $NetBSD: setup.c,v 1.11 2005/07/01 00:03:36 jmc Exp $ */
 
 /*-
  * Copyright (c) 1991, 1993
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
  */
 
 #ifndef lint
-static char copyright[] =
-"@(#) Copyright (c) 1991, 1993\n\
+static char copyright[] = "@(#) Copyright (c) 1991, 1993\n\
        The Regents of the University of California.  All rights reserved.\n";
-#endif                         /* not lint */
 
-#ifndef lint
 #if 0
 static char sccsid[] = "@(#)setup.c    8.1 (Berkeley) 5/31/93";
 #else
-static char rcsid[] = "$NetBSD: setup.c,v 1.4 1997/10/11 01:55:30 lukem Exp $";
+static char rcsid[] = "$NetBSD: setup.c,v 1.11 2005/07/01 00:03:36 jmc Exp $";
 #endif
 #endif                         /* not lint */
 
@@ -64,7 +57,10 @@ static char rcsid[] = "$NetBSD: setup.c,v 1.4 1997/10/11 01:55:30 lukem Exp $";
 #define SIG2 " *      Sterday, 6 Thrimidge S.R. 1993, 15:24"
 
 #include <stdio.h>
-#include "hdr.h"               /* SEED lives in there; keep them coordinated. */
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include "hdr.h"       /* SEED lives in there; keep them coordinated. */
 
 #define USAGE "Usage: setup file > data.c (file is typically glorkz)\n"
 
@@ -73,19 +69,24 @@ static char rcsid[] = "$NetBSD: setup.c,v 1.4 1997/10/11 01:55:30 lukem Exp $";
 
 #define LINE 10                        /* How many values do we get on a line? */
 
+int main(int, char *[]);
+
 int
-main(argc, argv)
-       int     argc;
-       char   *argv[];
+main(int argc, char *argv[])
 {
        FILE   *infile;
        int     c, count, linestart;
 
-       if (argc != 2)
-               errx(1, USAGE);
+       if (argc != 2) {
+               fprintf(stderr, USAGE);
+               exit(1);
+       }
 
-       if ((infile = fopen(argv[1], "r")) == NULL)
-               err(1, "Can't read file %s.\n", argv[1]);
+       if ((infile = fopen(argv[1], "r")) == NULL) {
+               fprintf(stderr, "Can't read file %s: %s\n", argv[1],
+                   strerror(errno));
+               exit(1);
+       }
        puts("/*\n * data.c: created by setup from the ascii data file.");
        puts(SIG1);
        puts(SIG2);
@@ -96,8 +97,9 @@ main(argc, argv)
        linestart = YES;
 
        while ((c = getc(infile)) != EOF) {
-               if (linestart && c == ' ') {    /* Convert first spaces to tab */
-                       printf("0x%02x,", ('\t' ^ random()) & 0xFF);
+               if (linestart && c == ' ') { /* Convert first spaces to tab */
+                       printf("0x%02x,", 
+                           (unsigned int)('\t' ^ random()) & 0xFF);
                        while ((c = getc(infile)) == ' ' && c != EOF);
                        /* Drop the non-whitespace character through */
                        linestart = NO;
@@ -113,9 +115,14 @@ main(argc, argv)
                }
                if (count++ % LINE == 0)        /* Finished a line? */
                        printf("\n\t");
-               printf("0x%02x,", (c ^ random()) & 0xFF);
+               printf("0x%02x,", (unsigned int)(c ^ random()) & 0xFF);
        }
        puts("\n\t0\n};");
        fclose(infile);
+       fflush(stdout);
+       if (ferror(stdout)) {
+               perror("error writing standard output");
+               exit(1);
+       }
        exit(0);
 }