diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-10-25 10:25:25 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:04:41 -0500 |
commit | 98f9d5cdf6451298001dc7ac71336d4206010181 (patch) | |
tree | 059eb00e409afa8c22304d00a3b0958813d22d3b | |
parent | 17781196bf4f4ab8943bdc6c20225e1028aab1a6 (diff) | |
download | samba-98f9d5cdf6451298001dc7ac71336d4206010181.tar.gz samba-98f9d5cdf6451298001dc7ac71336d4206010181.tar.bz2 samba-98f9d5cdf6451298001dc7ac71336d4206010181.zip |
r3210: split lib/replace.o into a separate build subsystem LIBREPLACE, and
make the ldb tools depend on it. This should help the build of the ldb
tools on platforms without strnlen() or strndup()
(This used to be commit e6ddb9d8f3a218b22b0176a2525b5daaca7170e4)
-rw-r--r-- | source4/lib/basic.m4 | 1 | ||||
-rw-r--r-- | source4/lib/basic.mk | 10 | ||||
-rw-r--r-- | source4/lib/ldb/config.mk | 2 | ||||
-rw-r--r-- | source4/lib/replace.c | 33 | ||||
-rw-r--r-- | source4/lib/util_str.c | 33 |
5 files changed, 44 insertions, 35 deletions
diff --git a/source4/lib/basic.m4 b/source4/lib/basic.m4 index b233c842db..6701ddaee5 100644 --- a/source4/lib/basic.m4 +++ b/source4/lib/basic.m4 @@ -1,3 +1,4 @@ dnl # LIB BASIC subsystem +SMB_SUBSYSTEM_MK(LIBREPLACE,lib/basic.mk) SMB_SUBSYSTEM_MK(LIBBASIC,lib/basic.mk) diff --git a/source4/lib/basic.mk b/source4/lib/basic.mk index 3baab26c5b..c7d3a264d2 100644 --- a/source4/lib/basic.mk +++ b/source4/lib/basic.mk @@ -1,6 +1,13 @@ # LIB BASIC subsystem ############################## +# Start SUBSYSTEM LIBREPLACE +[SUBSYSTEM::LIBREPLACE] +INIT_OBJ_FILES = lib/replace.o +# End SUBSYSTEM LIBREPLACE +############################## + +############################## # Start SUBSYSTEM LIBBASIC [SUBSYSTEM::LIBBASIC] INIT_OBJ_FILES = lib/version.o @@ -11,7 +18,6 @@ ADD_OBJ_FILES = \ lib/interface.o \ lib/interfaces.o \ lib/pidfile.o \ - lib/replace.o \ lib/signal.o \ lib/system.o \ lib/time.o \ @@ -50,6 +56,6 @@ ADD_OBJ_FILES = \ lib/server_mutex.o \ lib/idtree.o REQUIRED_SUBSYSTEMS = \ - LIBTDB CHARSET + LIBTDB CHARSET LIBREPLACE # End SUBSYSTEM LIBBASIC ############################## diff --git a/source4/lib/ldb/config.mk b/source4/lib/ldb/config.mk index 3b2501a83b..639652ea55 100644 --- a/source4/lib/ldb/config.mk +++ b/source4/lib/ldb/config.mk @@ -37,6 +37,8 @@ ADD_OBJ_FILES = \ lib/ldb/common/ldb_utf8.o \ lib/ldb/common/ldb_alloc.o \ lib/ldb/common/ldb_debug.o +REQUIRED_SUBSYSTEMS = \ + LIBREPLACE # # End SUBSYSTEM LIBLDB ################################################ diff --git a/source4/lib/replace.c b/source4/lib/replace.c index 64234f7042..f3a0df6ef6 100644 --- a/source4/lib/replace.c +++ b/source4/lib/replace.c @@ -480,3 +480,36 @@ char *rep_inet_ntoa(struct in_addr ip) #endif } #endif + + +#ifndef HAVE_STRNDUP +/** + Some platforms don't have strndup. +**/ + char *strndup(const char *s, size_t n) +{ + char *ret; + + n = strnlen(s, n); + ret = malloc(n+1); + if (!ret) + return NULL; + memcpy(ret, s, n); + ret[n] = 0; + + return ret; +} +#endif + +#ifndef HAVE_STRNLEN +/** + Some platforms don't have strnlen +**/ + size_t strnlen(const char *s, size_t n) +{ + int i; + for (i=0; s[i] && i<n; i++) + /* noop */ ; + return i; +} +#endif diff --git a/source4/lib/util_str.c b/source4/lib/util_str.c index 07a2c1dbd1..95c0b84d98 100644 --- a/source4/lib/util_str.c +++ b/source4/lib/util_str.c @@ -872,39 +872,6 @@ char *binary_string(char *buf, int len) return s; } -#ifndef HAVE_STRNDUP -/** - Some platforms don't have strndup. -**/ - char *strndup(const char *s, size_t n) -{ - char *ret; - - n = strnlen(s, n); - ret = malloc(n+1); - if (!ret) - return NULL; - memcpy(ret, s, n); - ret[n] = 0; - - return ret; -} -#endif - -#ifndef HAVE_STRNLEN -/** - Some platforms don't have strnlen -**/ - size_t strnlen(const char *s, size_t n) -{ - int i; - for (i=0; s[i] && i<n; i++) - /* noop */ ; - return i; -} -#endif - - /** Unescape a URL encoded string, in place. **/ |