]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - monop/initdeck.c
Fix (another) typo in comment
[bsdgames-darwin.git] / monop / initdeck.c
index 3ae18ba46a9bdddae5e8e26933ad886bb09c34cb..894ad835654e80f601ed58029bf12341fa412b46 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: initdeck.c,v 1.12 1999/12/30 01:40:08 simonb Exp $     */
+/*     $NetBSD: initdeck.c,v 1.16 2008/02/19 08:07:51 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.
  *
@@ -44,21 +40,41 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1993\n\
 #if 0
 static char sccsid[] = "@(#)initdeck.c 8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: initdeck.c,v 1.12 1999/12/30 01:40:08 simonb Exp $");
+__RCSID("$NetBSD: initdeck.c,v 1.16 2008/02/19 08:07:51 dholland Exp $");
 #endif
 #endif /* not lint */
 #endif /* __NetBSD__ */
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <sys/types.h>
 #include "deck.h"
 
+#ifndef u_int32_t
+#define        u_int32_t       unsigned int
+#endif
+
+u_int32_t
+h2nl(u_int32_t h)
+{
+       unsigned char c[4];
+       u_int32_t rv;
+
+       c[0] = (h >> 24) & 0xff;
+       c[1] = (h >> 16) & 0xff;
+       c[2] = (h >>  8) & 0xff;
+       c[3] = (h >>  0) & 0xff;
+       memcpy(&rv, c, sizeof rv);
+
+       return (rv);
+}
+
 /*
  *     This program initializes the card files for monopoly.
  * It reads in a data file with Com. Chest cards, followed by
- * the Chance card.  The two are seperated by a line of "%-".
- * All other cards are seperated by lines of "%%".  In the front
+ * the Chance card.  The two are separated by a line of "%-".
+ * All other cards are separated by lines of "%%".  In the front
  * of the file is the data for the decks in the same order.
  * This includes the seek pointer for the start of each card.
  * All cards start with their execution code, followed by the
@@ -136,10 +152,10 @@ main(ac, av)
        fseek(outf, 0, SEEK_SET);
 
        /* number of community chest cards first... */
-       nc = htonl(CC_D.num_cards);
+       nc = h2nl(CC_D.num_cards);
        fwrite(&nc, sizeof(nc), 1, outf);
        /* ... then number of chance cards. */
-       nc = htonl(CH_D.num_cards);
+       nc = h2nl(CH_D.num_cards);
        fwrite(&nc, sizeof(nc), 1, outf);
 
        /* dump offsets in big-endian byte order */
@@ -213,7 +229,7 @@ putem()
        putc(getc(inf), outf);
        for (num = 0; (c=getc(inf)) != '\n'; )
                num = num * 10 + (c - '0');
-       putw(htonl(num), outf);
+       putw(h2nl(num), outf);
        newline = FALSE;
        while ((c=getc(inf)) != EOF)
                if (newline && c == '%') {
@@ -230,7 +246,7 @@ putem()
                        putc(c = getc(inf), outf);
                        for (num = 0; (c=getc(inf)) != EOF && c != '\n'; )
                                num = num * 10 + (c - '0');
-                       putw(htonl(num), outf);
+                       putw(h2nl(num), outf);
                }
                else {
                        putc(c, outf);
@@ -241,7 +257,7 @@ putem()
 
 /*
  * fwrite_be_offt:
- *     Write out the off paramater as a 64 bit big endian number
+ *     Write out the off parameter as a 64 bit big endian number
  */
 
 static void