More portability updates. Now compiles cleanly vs glibc, libc5, and uclibc
authorEric Andersen <andersen@codepoet.org>
Sun, 9 Jul 2000 06:59:58 +0000 (06:59 -0000)
committerEric Andersen <andersen@codepoet.org>
Sun, 9 Jul 2000 06:59:58 +0000 (06:59 -0000)
(except for mkfs_minix and fsck_minix -- and it doesn't yet link vs uclibc due
to missing stuff in the library).
 -Erik

14 files changed:
console-tools/loadacm.c
coreutils/md5sum.c
coreutils/uudecode.c
coreutils/uuencode.c
insmod.c
loadacm.c
md5sum.c
modutils/insmod.c
networking/ping.c
ping.c
sysklogd/syslogd.c
syslogd.c
uudecode.c
uuencode.c

index cf393d92ddf495e6fc0cba52700dce844cf8de4b..a64c691d284ea5f5717b5d9acdf72c0b0d6d0152 100644 (file)
@@ -68,7 +68,7 @@ int screen_map_load(int fd, FILE * fp)
        int parse_failed = 0;
        int is_unicode;
 
-       if (fstat(fp->_fileno, &stbuf))
+       if (fstat(fileno(fp), &stbuf))
                perror("Cannot stat map file"), exit(1);
 
        /* first try a UTF screen-map: either ASCII (no restriction) or binary (regular file) */
index ffa9e6bce65b276e7232f586c72518ea6f883834..f4a8b99d0018065fb38fcf614976eaa0558918e5 100644 (file)
 #include <stdio.h>
 #include <errno.h>
 #include <ctype.h>
+#include <getopt.h>
+
+/* It turns out that libc5 doesn't have this in its headers
+ * even though it is actually in the lib.  Force it to work */
+#if ! defined __GLIBC__ && ! defined __UCLIBC__
+#define getline __getline
+extern _IO_ssize_t getline __P ((char **, size_t *, FILE *));
+#endif
 
 //----------------------------------------------------------------------------
 //--------md5.c
index 752497cb093641fdaff9decf7dce3779cac5ebb4..ac33762b0f3f61cea2e9814c5b1fb90c7fb1c52c 100644 (file)
@@ -55,6 +55,7 @@
 
 #include <stdio.h>
 #include <errno.h>
+#include <getopt.h>
 #include <pwd.h>
 
 /*struct passwd *getpwnam();*/
index 97801aa097ec8b400e029ab2478bd18a619038b0..e4fc1a0bc9d4385295da2255262f15ebbe7f1d75 100644 (file)
@@ -56,6 +56,7 @@
 
 #include <stdio.h>
 #include <errno.h>
+#include <getopt.h>
 #include <pwd.h>
 
 #define        RW (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
index 75058b959a4926307a9e633fe2576fe59b4f3ece..79732b0176fad06390213256ffba31710805bb37 100644 (file)
--- a/insmod.c
+++ b/insmod.c
@@ -38,6 +38,7 @@
 #include <dirent.h>
 #include <ctype.h>
 #include <assert.h>
+#include <getopt.h>
 #include <sys/utsname.h>
 #include <sys/syscall.h>
 #include <linux/unistd.h>
@@ -71,7 +72,7 @@
 #ifndef MODUTILS_MODULE_H
 #define MODUTILS_MODULE_H 1
 
-#ident "$Id: insmod.c,v 1.12 2000/07/08 18:55:24 andersen Exp $"
+#ident "$Id: insmod.c,v 1.13 2000/07/09 06:59:58 andersen Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -277,7 +278,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 #define MODUTILS_OBJ_H 1
 
-#ident "$Id: insmod.c,v 1.12 2000/07/08 18:55:24 andersen Exp $"
+#ident "$Id: insmod.c,v 1.13 2000/07/09 06:59:58 andersen Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
index cf393d92ddf495e6fc0cba52700dce844cf8de4b..a64c691d284ea5f5717b5d9acdf72c0b0d6d0152 100644 (file)
--- a/loadacm.c
+++ b/loadacm.c
@@ -68,7 +68,7 @@ int screen_map_load(int fd, FILE * fp)
        int parse_failed = 0;
        int is_unicode;
 
-       if (fstat(fp->_fileno, &stbuf))
+       if (fstat(fileno(fp), &stbuf))
                perror("Cannot stat map file"), exit(1);
 
        /* first try a UTF screen-map: either ASCII (no restriction) or binary (regular file) */
index ffa9e6bce65b276e7232f586c72518ea6f883834..f4a8b99d0018065fb38fcf614976eaa0558918e5 100644 (file)
--- a/md5sum.c
+++ b/md5sum.c
 #include <stdio.h>
 #include <errno.h>
 #include <ctype.h>
+#include <getopt.h>
+
+/* It turns out that libc5 doesn't have this in its headers
+ * even though it is actually in the lib.  Force it to work */
+#if ! defined __GLIBC__ && ! defined __UCLIBC__
+#define getline __getline
+extern _IO_ssize_t getline __P ((char **, size_t *, FILE *));
+#endif
 
 //----------------------------------------------------------------------------
 //--------md5.c
index 75058b959a4926307a9e633fe2576fe59b4f3ece..79732b0176fad06390213256ffba31710805bb37 100644 (file)
@@ -38,6 +38,7 @@
 #include <dirent.h>
 #include <ctype.h>
 #include <assert.h>
+#include <getopt.h>
 #include <sys/utsname.h>
 #include <sys/syscall.h>
 #include <linux/unistd.h>
@@ -71,7 +72,7 @@
 #ifndef MODUTILS_MODULE_H
 #define MODUTILS_MODULE_H 1
 
-#ident "$Id: insmod.c,v 1.12 2000/07/08 18:55:24 andersen Exp $"
+#ident "$Id: insmod.c,v 1.13 2000/07/09 06:59:58 andersen Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -277,7 +278,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 #define MODUTILS_OBJ_H 1
 
-#ident "$Id: insmod.c,v 1.12 2000/07/08 18:55:24 andersen Exp $"
+#ident "$Id: insmod.c,v 1.13 2000/07/09 06:59:58 andersen Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
index b9e8d0fd2c1cd08aa04829f54ee38e442978a908..c560a7ce2cf457808b8e515019cb81a45b9cb98d 100644 (file)
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * $Id: ping.c,v 1.18 2000/07/06 23:10:29 andersen Exp $
+ * $Id: ping.c,v 1.19 2000/07/09 06:59:58 andersen Exp $
  * Mini ping implementation for busybox
  *
  * Copyright (C) 1999 by Randolph Chung <tausq@debian.org>
@@ -51,7 +51,7 @@
 
 /* It turns out that libc5 doesn't have proper icmp support
  * built into it header files, so we have to supplement it */
-#if __GNU_LIBRARY__ < 5
+#if ! defined __GLIBC__ && ! defined __UCLIBC__
 typedef unsigned int socklen_t;
 
 #define        ICMP_MINLEN     8                               /* abs minimum */
diff --git a/ping.c b/ping.c
index b9e8d0fd2c1cd08aa04829f54ee38e442978a908..c560a7ce2cf457808b8e515019cb81a45b9cb98d 100644 (file)
--- a/ping.c
+++ b/ping.c
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * $Id: ping.c,v 1.18 2000/07/06 23:10:29 andersen Exp $
+ * $Id: ping.c,v 1.19 2000/07/09 06:59:58 andersen Exp $
  * Mini ping implementation for busybox
  *
  * Copyright (C) 1999 by Randolph Chung <tausq@debian.org>
@@ -51,7 +51,7 @@
 
 /* It turns out that libc5 doesn't have proper icmp support
  * built into it header files, so we have to supplement it */
-#if __GNU_LIBRARY__ < 5
+#if ! defined __GLIBC__ && ! defined __UCLIBC__
 typedef unsigned int socklen_t;
 
 #define        ICMP_MINLEN     8                               /* abs minimum */
index 9ab228f21fe4d7a0fc08df81c644783735616185..aa1218f3f18ae288b8645a97da55ebca127b1ed9 100644 (file)
@@ -42,7 +42,7 @@
 #include <sys/param.h>
 #include <linux/unistd.h>
 
-#if __GNU_LIBRARY__ < 5
+#if ! defined __GLIBC__ && ! defined __UCLIBC__
 
 typedef unsigned int socklen_t;
 
index 9ab228f21fe4d7a0fc08df81c644783735616185..aa1218f3f18ae288b8645a97da55ebca127b1ed9 100644 (file)
--- a/syslogd.c
+++ b/syslogd.c
@@ -42,7 +42,7 @@
 #include <sys/param.h>
 #include <linux/unistd.h>
 
-#if __GNU_LIBRARY__ < 5
+#if ! defined __GLIBC__ && ! defined __UCLIBC__
 
 typedef unsigned int socklen_t;
 
index 752497cb093641fdaff9decf7dce3779cac5ebb4..ac33762b0f3f61cea2e9814c5b1fb90c7fb1c52c 100644 (file)
@@ -55,6 +55,7 @@
 
 #include <stdio.h>
 #include <errno.h>
+#include <getopt.h>
 #include <pwd.h>
 
 /*struct passwd *getpwnam();*/
index 97801aa097ec8b400e029ab2478bd18a619038b0..e4fc1a0bc9d4385295da2255262f15ebbe7f1d75 100644 (file)
@@ -56,6 +56,7 @@
 
 #include <stdio.h>
 #include <errno.h>
+#include <getopt.h>
 #include <pwd.h>
 
 #define        RW (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)