Author: tridge Date: 2006-09-06 11:31:59 +0000 (Wed, 06 Sep 2006) New Revision: 18160
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18160 Log: - pread and pwrite replacements need to be non-static - replacing rename() is pointless - all platforms have it (and the #define of rename breaks some code) - use system/locale.h in snprintf.c - fix passwd.h for initgroups - stdlib is in replace.h, not needed elsewhere - fix the initgroups replacement - fix mapping of dl functions to rep_* Modified: branches/SAMBA_4_0/source/lib/replace/dlfcn.c branches/SAMBA_4_0/source/lib/replace/getpass.c branches/SAMBA_4_0/source/lib/replace/replace.c branches/SAMBA_4_0/source/lib/replace/replace.h branches/SAMBA_4_0/source/lib/replace/snprintf.c branches/SAMBA_4_0/source/lib/replace/system/passwd.h branches/SAMBA_4_0/source/lib/replace/test/testsuite.c branches/SAMBA_4_0/source/lib/tdb/common/io.c Changeset: Modified: branches/SAMBA_4_0/source/lib/replace/dlfcn.c =================================================================== --- branches/SAMBA_4_0/source/lib/replace/dlfcn.c 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/replace/dlfcn.c 2006-09-06 11:31:59 UTC (rev 18160) @@ -24,7 +24,6 @@ */ #include "replace.h" -#include <stdlib.h> #ifndef HAVE_DLOPEN void *dlopen(const char *name, int flags) @@ -41,7 +40,7 @@ #endif #ifndef HAVE_DLERROR -const char *dlerror(void) +char *dlerror(void) { return "dynamic loading of objects not supported on this platform"; } Modified: branches/SAMBA_4_0/source/lib/replace/getpass.c =================================================================== --- branches/SAMBA_4_0/source/lib/replace/getpass.c 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/replace/getpass.c 2006-09-06 11:31:59 UTC (rev 18160) @@ -19,7 +19,6 @@ /* Modified to use with samba by Jeremy Allison, 8th July 1995. */ #include "replace.h" -#include <stdlib.h> #if defined(HAVE_TERMIOS_H) /* POSIX terminal handling. */ Modified: branches/SAMBA_4_0/source/lib/replace/replace.c =================================================================== --- branches/SAMBA_4_0/source/lib/replace/replace.c 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/replace/replace.c 2006-09-06 11:31:59 UTC (rev 18160) @@ -30,6 +30,7 @@ #include "system/syslog.h" #include "system/network.h" #include "system/locale.h" +#include "system/wait.h" void replace_dummy(void); void replace_dummy(void) {} @@ -42,7 +43,7 @@ { #ifdef HAVE_CHSIZE return chsize(f,l); -#else +#elif defined(F_FREESP) struct flock fl; fl.l_whence = 0; @@ -50,6 +51,8 @@ fl.l_start = l; fl.l_type = F_WRLCK; return fcntl(f, F_FREESP, &fl); +#else +#error "you must have a ftruncate function" #endif } #endif /* HAVE_FTRUNCATE */ @@ -151,24 +154,6 @@ #endif /* !HAVE_MKTIME */ - -#ifndef HAVE_RENAME -/* Rename a file. (from libiberty in GNU binutils) */ -int rep_rename(const char *zfrom, const char *zto) -{ - if (link (zfrom, zto) < 0) - { - if (errno != EEXIST) - return -1; - if (unlink (zto) < 0 - || link (zfrom, zto) < 0) - return -1; - } - return unlink (zfrom); -} -#endif /* HAVE_RENAME */ - - #ifndef HAVE_INNETGR #if defined(HAVE_SETNETGRENT) && defined(HAVE_GETNETGRENT) && defined(HAVE_ENDNETGRENT) /* @@ -211,7 +196,7 @@ #include <grp.h> gid_t *grouplst = NULL; - int max_gr = groups_max(); + int max_gr = 32; int ret; int i,j; struct group *g; @@ -481,7 +466,7 @@ #endif #ifndef HAVE_PREAD -static ssize_t rep_pread(int __fd, void *__buf, size_t __nbytes, off_t __offset) +ssize_t rep_pread(int __fd, void *__buf, size_t __nbytes, off_t __offset) { if (lseek(__fd, __offset, SEEK_SET) != __offset) { return -1; @@ -491,7 +476,7 @@ #endif #ifndef HAVE_PWRITE -static ssize_t rep_pwrite(int __fd, const void *__buf, size_t __nbytes, off_t __offset) +ssize_t rep_pwrite(int __fd, const void *__buf, size_t __nbytes, off_t __offset) { if (lseek(__fd, __offset, SEEK_SET) != __offset) { return -1; Modified: branches/SAMBA_4_0/source/lib/replace/replace.h =================================================================== --- branches/SAMBA_4_0/source/lib/replace/replace.h 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/replace/replace.h 2006-09-06 11:31:59 UTC (rev 18160) @@ -61,7 +61,6 @@ #include <strings.h> #endif - #ifndef HAVE_STRERROR extern char *sys_errlist[]; #define strerror(i) sys_errlist[i] @@ -121,11 +120,6 @@ int rep_setenv(const char *name, const char *value, int overwrite); #endif -#ifndef HAVE_RENAME -#define rename rep_rename -int rep_rename(const char *zfrom, const char *zto); -#endif - #ifndef HAVE_STRCASESTR #define strcasestr rep_strcasestr char *rep_strcasestr(const char *haystack, const char *needle); @@ -148,14 +142,39 @@ #ifndef HAVE_FTRUNCATE #define ftruncate rep_ftruncate -int rep_ftruncate(int f,long l); +int rep_ftruncate(int,off_t); #endif +#ifndef HAVE_INITGROUPS +#define ftruncate rep_ftruncate +int rep_initgroups(char *name, gid_t id); +#endif + #if !defined(HAVE_BZERO) && defined(HAVE_MEMSET) #define bzero(a,b) memset((a),'\0',(b)) #endif +#ifndef HAVE_DLERROR +#define dlerror rep_dlerror +char *rep_dlerror(void); +#endif +#ifndef HAVE_DLOPEN +#define dlopen rep_dlopen +void *rep_dlopen(const char *name, int flags); +#endif + +#ifndef HAVE_DLSYM +#define dlsym rep_dlsym +void *rep_dlsym(void *handle, const char *symbol); +#endif + +#ifndef HAVE_DLCLOSE +#define dlclose rep_dlclose +int rep_dlclose(void *handle); +#endif + + #ifndef PRINTF_ATTRIBUTE #if __GNUC__ >= 3 /** Use gcc attribute to check printf fns. a1 is the 1-based index of @@ -195,6 +214,7 @@ #ifndef HAVE_VA_COPY +#undef va_copy #ifdef HAVE___VA_COPY #define va_copy(dest, src) __va_copy(dest, src) #else Modified: branches/SAMBA_4_0/source/lib/replace/snprintf.c =================================================================== --- branches/SAMBA_4_0/source/lib/replace/snprintf.c 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/replace/snprintf.c 2006-09-06 11:31:59 UTC (rev 18160) @@ -104,6 +104,7 @@ **************************************************************/ #include "replace.h" +#include "system/locale.h" #ifdef TEST_SNPRINTF /* need math library headers for testing */ @@ -117,22 +118,6 @@ # include <math.h> #endif /* TEST_SNPRINTF */ -#ifdef HAVE_STRING_H -#include <string.h> -#endif - -#ifdef HAVE_STRINGS_H -#include <strings.h> -#endif -#ifdef HAVE_CTYPE_H -#include <ctype.h> -#endif -#include <sys/types.h> -#include <stdarg.h> -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif - #if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF) && defined(HAVE_C99_VSNPRINTF) /* only include stdio.h if we are not re-defining snprintf or vsnprintf */ #include <stdio.h> Modified: branches/SAMBA_4_0/source/lib/replace/system/passwd.h =================================================================== --- branches/SAMBA_4_0/source/lib/replace/system/passwd.h 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/replace/system/passwd.h 2006-09-06 11:31:59 UTC (rev 18160) @@ -88,9 +88,4 @@ #define ULTRIX_AUTH 1 #endif - -#ifndef HAVE_INITGROUPS -int initgroups(char *name,gid_t id); #endif - -#endif Modified: branches/SAMBA_4_0/source/lib/replace/test/testsuite.c =================================================================== --- branches/SAMBA_4_0/source/lib/replace/test/testsuite.c 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/replace/test/testsuite.c 2006-09-06 11:31:59 UTC (rev 18160) @@ -120,12 +120,6 @@ return true; } -static int test_rename(void) -{ - /* FIXME */ - return true; -} - static int test_innetgr(void) { /* FIXME */ @@ -378,7 +372,6 @@ ret &= test_strlcpy(); ret &= test_strlcat(); ret &= test_mktime(); - ret &= test_rename(); ret &= test_innetgr(); ret &= test_initgroups(); ret &= test_memmove(); Modified: branches/SAMBA_4_0/source/lib/tdb/common/io.c =================================================================== --- branches/SAMBA_4_0/source/lib/tdb/common/io.c 2006-09-06 11:20:43 UTC (rev 18159) +++ branches/SAMBA_4_0/source/lib/tdb/common/io.c 2006-09-06 11:31:59 UTC (rev 18160) @@ -29,28 +29,6 @@ #include "tdb_private.h" -#ifndef HAVE_PREAD - static ssize_t pread(int fd, void *buf, size_t count, off_t offset) -{ - if (lseek(fd, offset, SEEK_SET) != offset) { - errno = EIO; - return -1; - } - return read(fd, buf, count); -} -#endif - -#ifndef HAVE_PWRITE - static ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset) -{ - if (lseek(fd, offset, SEEK_SET) != offset) { - errno = EIO; - return -1; - } - return write(fd, buf, count); -} -#endif - /* check for an out of bounds access - if it is out of bounds then see if the database has been expanded by someone else and expand if necessary
