[PATCH] Fix build on HP-UX 11.11



Hi

Fix build on HP-UX 11.11

HP-UX 11.11 doesn't have strtoll, but it has strtoimax. strtoimax is
defined as a preprocessor macro, not as a function.

This patch fixes build: it adds checks for two function strtoll and
strtoimax and uses them if detected.


BTW. in ./src/vfs/fish/fish.c and ./lib/vfs/parse_ls_vga.c there is a 
detection for atoll and if atoll is not found, atof is used. Shouldn't 
strtoll (or strtoimax) be used instead of atof?


Mikulas

Index: mc-4.8.6/configure.ac
===================================================================
--- mc-4.8.6.orig/configure.ac
+++ mc-4.8.6/configure.ac
@@ -190,6 +190,8 @@ dnl Check for functions
 dnl ############################################################################
 
 AC_CHECK_FUNCS([\
+	strtoll \
+	strtoimax \
 	atoll \
 	isascii \
 	statfs sysconf \
Index: mc-4.8.6/lib/global.h
===================================================================
--- mc-4.8.6.orig/lib/global.h
+++ mc-4.8.6/lib/global.h
@@ -55,6 +55,16 @@
 #include <unix.h>
 #endif
 
+/* HP-UX 11.11 doesn't have strtoll. But it has strtoimax defined as a macro */
+#include <stdlib.h>
+#ifndef HAVE_STRTOLL
+#if defined(HAVE_STRTOIMAX) || defined(strtoimax)
+#define strtoll strtoimax
+#else
+#define strtoll strtol
+#endif
+#endif
+
 #include <glib.h>
 #include "glibcompat.h"
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]