]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - adventure/setup.c
Minor tidyup.
[bsdgames-darwin.git] / adventure / setup.c
index 042e1e04226cc7d2483995b934d686ef92ddfd5e..36a7c0e9c7b9b3d798280acd0d8b557a2a0e5d66 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: setup.c,v 1.2 1995/03/21 12:05:10 cgd 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.2 1995/03/21 12:05:10 cgd Exp $";
+static char rcsid[] = "$NetBSD: setup.c,v 1.11 2005/07/01 00:03:36 jmc Exp $";
 #endif
-#endif /* not lint */
+#endif                         /* not lint */
 
 /*
  * Setup: keep the structure of the original Adventure port, but use an
@@ -64,28 +57,36 @@ static char rcsid[] = "$NetBSD: setup.c,v 1.2 1995/03/21 12:05:10 cgd 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"
 
 #define YES 1
 #define NO  0
 
-void fatal();
+#define LINE 10                        /* How many values do we get on a line? */
 
-#define LINE 10         /* How many values do we get on a line? */
+int main(int, char *[]);
 
-main(argc, argv)
-int argc;
-char *argv[];
+int
+main(int argc, char *argv[])
 {
-       FILE *infile;
-       int c, count, linestart;
+       FILE   *infile;
+       int     c, count, linestart;
 
-       if (argc != 2) fatal(USAGE);
+       if (argc != 2) {
+               fprintf(stderr, USAGE);
+               exit(1);
+       }
 
-       if ((infile = fopen(argv[1], "r")) == NULL)
-               fatal("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);
@@ -95,37 +96,33 @@ char *argv[];
        count = 0;
        linestart = YES;
 
-       while ((c = getc(infile)) != EOF)
-       {
-               if (linestart && c == ' ') /* Convert first spaces to tab */
-               {
-                       printf("0x%02x,", ('\t' ^ random()) & 0xFF);
+       while ((c = getc(infile)) != EOF) {
+               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;
                }
-               switch(c)
-               {
-                   case '\t':
-                       linestart = NO; /* Don't need to convert spaces */
+               switch (c) {
+               case '\t':
+                       linestart = NO; /* Don't need to convert spaces */
                        break;
-                   case '\n':
-                       linestart = YES; /* Ready to convert spaces again */
+               case '\n':
+                       linestart = YES;        /* Ready to convert spaces
+                                                * again */
                        break;
                }
-               if (count++ % LINE == 0)   /* Finished a line? */
+               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);
 }
-
-
-void fatal(format, arg)
-char *format;
-{
-       fprintf(stderr, format, arg);
-       exit(1);
-}