Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/games/fortune/strfile Use a local implementation of htonl() ...



details:   https://anonhg.NetBSD.org/src/rev/a06172b8d3c8
branches:  trunk
changeset: 495549:a06172b8d3c8
user:      simonb <simonb%NetBSD.org@localhost>
date:      Mon Jul 31 11:32:33 2000 +0000

description:
Use a local implementation of htonl() called h2nl().  htonl() is not
available in all cross-compile environments.

Patches from Chris Demetriou.

diffstat:

 games/fortune/strfile/strfile.c |  29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

diffs (57 lines):

diff -r 2663bf4afdda -r a06172b8d3c8 games/fortune/strfile/strfile.c
--- a/games/fortune/strfile/strfile.c   Mon Jul 31 11:29:48 2000 +0000
+++ b/games/fortune/strfile/strfile.c   Mon Jul 31 11:32:33 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: strfile.c,v 1.19 2000/01/13 16:22:10 jsm Exp $ */
+/*     $NetBSD: strfile.c,v 1.20 2000/07/31 11:32:33 simonb Exp $      */
 
 /*-
  * Copyright (c) 1989, 1993
@@ -47,7 +47,7 @@
 #if 0
 static char sccsid[] = "@(#)strfile.c  8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: strfile.c,v 1.19 2000/01/13 16:22:10 jsm Exp $");
+__RCSID("$NetBSD: strfile.c,v 1.20 2000/07/31 11:32:33 simonb Exp $");
 #endif
 #endif /* not lint */
 #endif /* __NetBSD__ */
@@ -70,6 +70,21 @@
 # define       MAXPATHLEN      1024
 # endif        /* MAXPATHLEN */
 
+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 takes a file composed of strings seperated by
  * lines starting with two consecutive delimiting character (default
@@ -253,11 +268,11 @@
        }
 
        (void) fseek(outf, (off_t) 0, SEEK_SET);
-       Tbl.str_version = htonl(Tbl.str_version);
-       Tbl.str_numstr = htonl(Num_pts - 1);
-       Tbl.str_longlen = htonl(Tbl.str_longlen);
-       Tbl.str_shortlen = htonl(Tbl.str_shortlen);
-       Tbl.str_flags = htonl(Tbl.str_flags);
+       Tbl.str_version = h2nl(Tbl.str_version);
+       Tbl.str_numstr = h2nl(Num_pts - 1);
+       Tbl.str_longlen = h2nl(Tbl.str_longlen);
+       Tbl.str_shortlen = h2nl(Tbl.str_shortlen);
+       Tbl.str_flags = h2nl(Tbl.str_flags);
        (void) fwrite((char *) &Tbl, sizeof Tbl, 1, outf);
        if (STORING_PTRS) {
                for (p = Seekpts, cnt = Num_pts; cnt--; ++p)



Home | Main Index | Thread Index | Old Index