diff options
author | Allan McRae <allan@archlinux.org> | 2010-12-18 04:48:09 +1000 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-12-29 19:24:13 -0600 |
commit | 81dd9d3ebc3eca04fade4df4689c53d1d11c5f19 (patch) | |
tree | 443566a22e9787f2cfac44a9eb2e59631ab118d1 | |
parent | fcc09bd7e35766a5f025282491501824ee11cf27 (diff) | |
download | pacman-81dd9d3ebc3eca04fade4df4689c53d1d11c5f19.tar.xz |
Detect undefined PATH_MAX
POSIX does not require PATH_MAX be defined when there is not actual
limit to its value. This affects HURD based systems. Work around
this by defining PATH_MAX to 4096 (as on Linux) when this is not
defined.
Also, clean up inclusions of limits.h and remove autoconf check for
this header as we do not use macro shields for its inclusion anyway.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | acinclude.m4 | 16 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | lib/libalpm/be_sync.c | 1 | ||||
-rw-r--r-- | lib/libalpm/db.h | 1 | ||||
-rw-r--r-- | lib/libalpm/dload.c | 1 | ||||
-rw-r--r-- | lib/libalpm/error.c | 1 | ||||
-rw-r--r-- | lib/libalpm/package.c | 1 | ||||
-rw-r--r-- | lib/libalpm/sync.c | 1 | ||||
-rw-r--r-- | lib/libalpm/trans.c | 1 | ||||
-rw-r--r-- | src/util/cleanupdelta.c | 2 | ||||
-rw-r--r-- | src/util/testdb.c | 2 |
11 files changed, 25 insertions, 5 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 6693da44..7309d731 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -125,3 +125,19 @@ extern int getmntinfo (struct statfs **, int); [Defined as the filesystem stats type ('statvfs' or 'statfs')]) ]) +dnl Checks for PATH_MAX and defines it if not present +AC_DEFUN([PATH_MAX_DEFINED], + [AC_CACHE_CHECK([PATH_MAX defined], path_max_cv_defined, + [AC_EGREP_CPP(yes, [[ +#include <limits.h> +#if defined(PATH_MAX) +yes +#endif +]], + [path_max_cv_defined=yes], + [path_max_cv_defined=no])] + ) + if test $path_max_cv_defined = no; then + AC_DEFINE([PATH_MAX], 4096, [Define if PATH_MAX is undefined by limits.h.]) + fi +]) diff --git a/configure.ac b/configure.ac index 747c8b75..11b6b11a 100644 --- a/configure.ac +++ b/configure.ac @@ -172,7 +172,7 @@ AS_IF([test "x$with_fetch" != "xno"], AM_CONDITIONAL([HAVE_LIBFETCH], [test "x$ac_cv_lib_fetch_fetchParseURL" = "xyes"]) # Checks for header files. -AC_CHECK_HEADERS([fcntl.h glob.h libintl.h limits.h locale.h mntent.h string.h strings.h \ +AC_CHECK_HEADERS([fcntl.h glob.h libintl.h locale.h mntent.h string.h strings.h \ sys/ioctl.h sys/mount.h sys/param.h sys/statvfs.h sys/syslimits.h \ sys/time.h sys/types.h sys/ucred.h syslog.h wchar.h]) @@ -185,6 +185,7 @@ AC_TYPE_SIZE_T AC_STRUCT_TM AC_TYPE_UID_T AC_STRUCT_DIRENT_D_TYPE +PATH_MAX_DEFINED # Checks for library functions. AC_FUNC_FORK diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index d0f98c20..4786864a 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -23,6 +23,7 @@ #include <errno.h> #include <ctype.h> #include <locale.h> +#include <limits.h> /* libarchive */ #include <archive.h> diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h index ace366d1..10aa1644 100644 --- a/lib/libalpm/db.h +++ b/lib/libalpm/db.h @@ -23,7 +23,6 @@ #define _ALPM_DB_H #include "alpm.h" -#include <limits.h> #include <time.h> /* libarchive */ diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 1cb24e61..ea7f5570 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -29,7 +29,6 @@ #include <sys/types.h> #include <sys/stat.h> #include <signal.h> -#include <limits.h> /* the following two are needed on BSD for libfetch */ #if defined(HAVE_SYS_SYSLIMITS_H) #include <sys/syslimits.h> /* PATH_MAX */ diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c index 78a78667..d4c296fc 100644 --- a/lib/libalpm/error.c +++ b/lib/libalpm/error.c @@ -22,7 +22,6 @@ /* TODO: needed for the libfetch stuff, unfortunately- we should kill it */ #include <stdio.h> -#include <limits.h> /* the following two are needed on BSD for libfetch */ #if defined(HAVE_SYS_SYSLIMITS_H) #include <sys/syslimits.h> /* PATH_MAX */ diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index 2ea51251..edfb7bd3 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -25,7 +25,6 @@ #include <stdio.h> #include <stdlib.h> -#include <limits.h> #include <string.h> #include <ctype.h> #include <errno.h> diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 8af32e45..0a978024 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -31,6 +31,7 @@ #include <stdint.h> /* intmax_t */ #include <unistd.h> #include <time.h> +#include <limits.h> /* libalpm */ #include "sync.h" diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index 5bc2c911..5c132111 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -31,6 +31,7 @@ #include <sys/stat.h> #include <sys/statvfs.h> #include <errno.h> +#include <limits.h> /* libalpm */ #include "trans.h" diff --git a/src/util/cleanupdelta.c b/src/util/cleanupdelta.c index c1ef18c4..20102824 100644 --- a/src/util/cleanupdelta.c +++ b/src/util/cleanupdelta.c @@ -17,6 +17,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "config.h" + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/util/testdb.c b/src/util/testdb.c index 53a0dfa3..332224e1 100644 --- a/src/util/testdb.c +++ b/src/util/testdb.c @@ -17,6 +17,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "config.h" + #include <unistd.h> #include <stdio.h> #include <stdlib.h> |