]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - monop/execute.c
A first stab at supporting the housing shortage rules. From OpenBSD.
[bsdgames-darwin.git] / monop / execute.c
index 42f23797b81855ee4d460b901150912c91838866..bbddcbb923c3aaba9a0435a9019cc33af02a541b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: execute.c,v 1.7 1999/09/08 21:17:51 jsm Exp $  */
+/*     $NetBSD: execute.c,v 1.14 2008/02/19 09:45:02 dholland Exp $    */
 
 /*
  * Copyright (c) 1980, 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.
  *
@@ -38,7 +34,7 @@
 #if 0
 static char sccsid[] = "@(#)execute.c  8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: execute.c,v 1.7 1999/09/08 21:17:51 jsm Exp $");
+__RCSID("$NetBSD: execute.c,v 1.14 2008/02/19 09:45:02 dholland Exp $");
 #endif
 #endif /* not lint */
 
@@ -49,6 +45,7 @@ __RCSID("$NetBSD: execute.c,v 1.7 1999/09/08 21:17:51 jsm Exp $");
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/time.h>
+#include <time.h>
 
 #define        SEGSIZE 8192
 
@@ -58,15 +55,16 @@ typedef     struct tm       TIME;
 static char    buf[257];
 
 static bool    new_play;       /* set if move on to new player         */
+extern void    *heapstart;
 
-static void show_move __P((void));
+static void show_move(void);
 
 /*
  *     This routine executes the given command by index number
  */
 void
 execute(com_num)
-       int com_num; 
+       int com_num;
 {
        new_play = FALSE;       /* new_play is true if fixing   */
        (*func[com_num])();
@@ -82,7 +80,7 @@ execute(com_num)
  *     This routine moves a piece around.
  */
 void
-do_move() 
+do_move()
 {
        int r1, r2;
        bool was_jail;
@@ -116,7 +114,7 @@ ret:
  */
 void
 move(rl)
-       int rl; 
+       int rl;
 {
        int old_loc;
 
@@ -133,7 +131,7 @@ move(rl)
  *     This routine shows the results of a move
  */
 static void
-show_move() 
+show_move()
 {
        SQUARE *sqp;
 
@@ -144,15 +142,20 @@ show_move()
                printf("That is a safe place\n");
                break;
          case CC:
-               cc(); break;
+               cc();
+               break;
          case CHANCE:
-               chance(); break;
+               chance();
+               break;
          case INC_TAX:
-               inc_tax(); break;
+               inc_tax();
+               break;
          case GOTO_J:
-               goto_jail(); break;
+               goto_jail();
+               break;
          case LUX_TAX:
-               lux_tax(); break;
+               lux_tax();
+               break;
          case PRPTY:
          case RR:
          case UTIL:
@@ -176,7 +179,7 @@ show_move()
  *     This routine saves the current game for use at a later date
  */
 void
-save() 
+save()
 {
        char *sp;
        int outf, num;
@@ -186,7 +189,7 @@ save()
 
        printf("Which file do you wish to save it in? ");
        sp = buf;
-       while ((*sp++=getchar()) != '\n')
+       while ((*sp++ = getchar()) != '\n')
                continue;
        *--sp = '\0';
 
@@ -198,8 +201,8 @@ save()
            && getyn("File exists.  Do you wish to overwrite? ") > 0)
                return;
 
-       if ((outf=creat(buf, 0644)) < 0) {
-               perror(buf);
+       if ((outf = creat(buf, 0644)) < 0) {
+               warn("%s", buf);
                return;
        }
        printf("\"%s\" ", buf);
@@ -208,7 +211,7 @@ save()
        for (sp = buf; *sp != '\n'; sp++)
                continue;
        *sp = '\0';
-       start = 0;
+       start = heapstart;
        end = sbrk(0);
        while (start < end) {           /* write out entire data space */
                num = start + 16 * 1024 > end ? end - start : 16 * 1024;
@@ -223,12 +226,12 @@ save()
  *     This routine restores an old game from a file
  */
 void
-restore() 
+restore()
 {
        char *sp;
 
        printf("Which file do you wish to restore from? ");
-       for (sp = buf; (*sp=getchar()) != '\n'; sp++)
+       for (sp = buf; (*sp = getchar()) != '\n'; sp++)
                continue;
        *sp = '\0';
        rest_f(buf);
@@ -240,24 +243,23 @@ restore()
  */
 int
 rest_f(file)
-       const char *file; 
+       const char *file;
 {
        char *sp;
        int inf, num;
-       char buf[80];
+       char xbuf[80];
        char *start, *end;
        STAT sbuf;
 
-       if ((inf=open(file, O_RDONLY)) < 0) {
-               perror(file);
+       if ((inf = open(file, O_RDONLY)) < 0) {
+               warn("%s", file);
                return FALSE;
        }
        printf("\"%s\" ", file);
        if (fstat(inf, &sbuf) < 0) {            /* get file stats       */
-               perror(file);
-               exit(1);
+               err(1, "%s: fstat", file);
        }
-       start = 0;
+       start = heapstart;
        brk(end = start + sbuf.st_size);
        while (start < end) {           /* write out entire data space */
                num = start + 16 * 1024 > end ? end - start : 16 * 1024;
@@ -265,10 +267,10 @@ rest_f(file)
                start += num;
        }
        close(inf);
-       strcpy(buf, ctime(&sbuf.st_mtime));
-       for (sp = buf; *sp != '\n'; sp++)
+       strcpy(xbuf, ctime(&sbuf.st_mtime));
+       for (sp = xbuf; *sp != '\n'; sp++)
                continue;
        *sp = '\0';
-       printf("[%s]\n", buf);
+       printf("[%s]\n", xbuf);
        return TRUE;
 }