]> git.ipfire.org Git - people/ms/dma.git/commitdiff
use HOST_NAME_MAX instead of MAXHOSTNAMELEN
authorSimon Schubert <2@0x2c.org>
Thu, 28 Oct 2010 22:10:30 +0000 (00:10 +0200)
committerSimon Schubert <2@0x2c.org>
Thu, 28 Oct 2010 22:10:30 +0000 (00:10 +0200)
HOST_NAME_MAX is sanctioned by POSIX.

drop 37-gnu-hurd.patch: already applied / other fix here

debian/patches/37-gnu-hurd.patch [deleted file]
util.c

diff --git a/debian/patches/37-gnu-hurd.patch b/debian/patches/37-gnu-hurd.patch
deleted file mode 100644 (file)
index 2a9c0d9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-Description: Further fixes to the build on the GNU Hurd
- - include <sys/file.h> for LOCK_EX
- - define MAXHOSTNAMELEN if absent
-Forwarded: no
-Author: Peter Pentchev <roam@ringlet.net>
-Last-Update: 2010-10-16
-
---- a/spool.c
-+++ b/spool.c
-@@ -32,6 +32,7 @@
-  * SUCH DAMAGE.
-  */
-+#include <sys/file.h>
- #include <sys/stat.h>
- #include <ctype.h>
---- a/util.c
-+++ b/util.c
-@@ -33,6 +33,7 @@
-  */
- #include <sys/param.h>
-+#include <sys/file.h>
- #include <errno.h>
- #include <fcntl.h>
- #include <netdb.h>
-@@ -43,6 +44,14 @@
- #include "dma.h"
-+/**
-+ * A quick'n'dirty hack to get dma to build on the GNU Hurd.
-+ * A real fix would dynamically allocate the hostname array.
-+ */
-+#ifndef MAXHOSTNAMELEN
-+#define MAXHOSTNAMELEN        1024
-+#endif
-+
- const char *
- hostname(void)
- {
diff --git a/util.c b/util.c
index 6381aaf256fc3052bf11514f7e7ec66562dca18c..83002f4492ec265c1f370302dfa466ea3375f41d 100644 (file)
--- a/util.c
+++ b/util.c
@@ -51,7 +51,7 @@
 const char *
 hostname(void)
 {
-       static char name[MAXHOSTNAMELEN+1];
+       static char name[HOST_NAME_MAX+1];
        static int initialized = 0;
 
        if (initialized)
@@ -95,6 +95,11 @@ hostname(void)
 local:
        if (gethostname(name, sizeof(name)) != 0)
                strcpy(name, "(unknown hostname)");
+       /*
+        * gethostname() is allowed to truncate name without NUL-termination
+        * and at the same time not return an error.
+        */
+       name[sizeof(name) - 1] = 0;
        initialized = 1;
        return (name);
 }