$NetBSD: patch-ab,v 1.3 2012/06/23 18:02:15 dholland Exp $ - Use NAME_MAX if available rather than relying on MAXNAMLEN. - Fix Solaris preprocessor symbols. - Fix bad calls to execlp() that break on 64-bit platforms. --- compfile.c.orig 2003-06-24 21:32:20.000000000 +0000 +++ compfile.c @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -179,7 +180,7 @@ int setupgzip(char *name) if (open (name, O_RDONLY) >= 0) { if(! compressargs) - execlp (compressprog, compressprog, "-c", farg, 0); + execlp (compressprog, compressprog, "-c", farg, (char *)NULL); else execvp (compressprog, compress_arg_list); } @@ -210,7 +211,7 @@ void waitforgzip() * version; */ -#if ( defined(sun) && defined(__svr4__) ) +#if ( defined(__sun) && defined(__SVR4) ) #include #else #include @@ -283,7 +284,9 @@ compressfile (int *fdp, char *name, reg tmpcomp++; else tmpcomp = name; -#ifdef MAXNAMLEN /* BSD otherwise should be sysV (FFS on sysV?) */ +#if defined(NAME_MAX) + if (strlen (tmpcomp) + 2 > NAME_MAX) +#elif defined(MAXNAMLEN) /* BSD otherwise should be sysV (FFS on sysV?) */ if (strlen (tmpcomp) + 2 > MAXNAMLEN) #else if (strlen (tmpcomp) + 2 > DIRSIZ)