s3-lib Move string_init functions into their own file
authorAndrew Bartlett <abartlet@samba.org>
Wed, 25 May 2011 04:53:32 +0000 (14:53 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 30 May 2011 22:32:07 +0000 (00:32 +0200)
These have not been moved in common, as they are not talloc-based, but
it helps with dependencies if these are seperated from the rest of
util_str.c

Andrew Bartlett

source3/Makefile.in
source3/lib/string_init.c [new file with mode: 0644]
source3/lib/util_str.c
source3/wscript_build

index 03b427389a9a1583716cc8029d5fcd1ba7b37533..564c37a7be38ffd954eacee842c9c25c778ed479 100644 (file)
@@ -456,7 +456,7 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
          ../libds/common/flag_mapping.o \
          lib/access.o lib/smbrun.o \
          lib/bitmap.o lib/dprintf.o $(UTIL_REG_OBJ) \
-         lib/wins_srv.o \
+         lib/wins_srv.o lib/string_init.o \
          lib/util_str.o ../lib/util/util_str_common.o \
          ../lib/util/util_str.o \
          ../lib/util/base64.o lib/util_sid.o \
diff --git a/source3/lib/string_init.c b/source3/lib/string_init.c
new file mode 100644 (file)
index 0000000..40a6ef0
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+   Unix SMB/CIFS implementation.
+   Samba utility functions
+
+   Copyright (C) Andrew Tridgell 1992-2001
+   Copyright (C) Simo Sorce      2001-2002
+   Copyright (C) Martin Pool     2003
+   Copyright (C) James Peach    2006
+   Copyright (C) Jeremy Allison  1992-2007
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "includes.h"
+
+/* this is used to prevent lots of mallocs of size 1 */
+static const char null_string[] = "";
+
+/**
+ Set a string value, allocing the space for the string
+**/
+
+static bool string_init(char **dest,const char *src)
+{
+       size_t l;
+
+       if (!src)
+               src = "";
+
+       l = strlen(src);
+
+       if (l == 0) {
+               *dest = discard_const_p(char, null_string);
+       } else {
+               (*dest) = SMB_STRDUP(src);
+               if ((*dest) == NULL) {
+                       DEBUG(0,("Out of memory in string_init\n"));
+                       return false;
+               }
+       }
+       return(true);
+}
+
+/**
+ Free a string value.
+**/
+
+void string_free(char **s)
+{
+       if (!s || !(*s))
+               return;
+       if (*s == null_string)
+               *s = NULL;
+       SAFE_FREE(*s);
+}
+
+/**
+ Set a string value, deallocating any existing space, and allocing the space
+ for the string
+**/
+
+bool string_set(char **dest,const char *src)
+{
+       string_free(dest);
+       return(string_init(dest,src));
+}
index bb8482ca0be17cfcade51fde54e7c1a8313371f6..82d814ad9d9f599e8d03a7a0f8fdd518e4c716ff 100644 (file)
@@ -227,58 +227,6 @@ bool in_list(const char *s, const char *list, bool casesensitive)
        return ret;
 }
 
-/* this is used to prevent lots of mallocs of size 1 */
-static const char null_string[] = "";
-
-/**
- Set a string value, allocing the space for the string
-**/
-
-static bool string_init(char **dest,const char *src)
-{
-       size_t l;
-
-       if (!src)
-               src = "";
-
-       l = strlen(src);
-
-       if (l == 0) {
-               *dest = discard_const_p(char, null_string);
-       } else {
-               (*dest) = SMB_STRDUP(src);
-               if ((*dest) == NULL) {
-                       DEBUG(0,("Out of memory in string_init\n"));
-                       return false;
-               }
-       }
-       return(true);
-}
-
-/**
- Free a string value.
-**/
-
-void string_free(char **s)
-{
-       if (!s || !(*s))
-               return;
-       if (*s == null_string)
-               *s = NULL;
-       SAFE_FREE(*s);
-}
-
-/**
- Set a string value, deallocating any existing space, and allocing the space
- for the string
-**/
-
-bool string_set(char **dest,const char *src)
-{
-       string_free(dest);
-       return(string_init(dest,src));
-}
-
 void fstring_sub(char *s,const char *pattern,const char *insert)
 {
        string_sub(s, pattern, insert, sizeof(fstring));
index 2ee4f62fe02a7b6e14c248f180323832a3d1f3e1..5b89cf042762cbf548c73d0a5f3707aa373974a4 100755 (executable)
@@ -789,7 +789,7 @@ bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
 
 bld.SAMBA3_LIBRARY('samba3core',
                    source=LIB_SRC,
-                   deps='LIBCRYPTO ndr security NDR_SECURITY samba-util NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 UTIL_TDB UTIL_PW SAMBA_VERSION KRB5_WRAP flag_mapping util_reg passdb PTHREADPOOL interfaces cap',
+                   deps='LIBCRYPTO ndr security NDR_SECURITY samba-util NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 UTIL_TDB UTIL_PW SAMBA_VERSION KRB5_WRAP flag_mapping util_reg passdb PTHREADPOOL interfaces cap string_init',
                    private_library=True,
                    vars=locals())
 
@@ -984,6 +984,9 @@ bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
                      deps='tdb-wrap',
                     vars=locals())
 
+bld.SAMBA3_SUBSYSTEM('string_init',
+                     source='''lib/string_init.c''')
+
 bld.SAMBA3_SUBSYSTEM('CHARSET3',
                     source='''lib/util_str.c lib/charcnv.c lib/fstring.c''',
                     public_deps='ICONV_WRAPPER samba3core CHARSET',