summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2011-03-24 11:40:43 +1100
committerAndrew Tridgell <tridge@samba.org>2011-03-25 04:37:06 +0100
commit8cd4a38d722af31bc94b9868d27bed2f9f7c5cff (patch)
treeb5cd667fd567a0ffe5ec0ce69ee5b8c134ffcfe1 /source3
parentf705fc9002ffc32a6155b5411f896212a9408f33 (diff)
downloadsamba-8cd4a38d722af31bc94b9868d27bed2f9f7c5cff.tar.gz
samba-8cd4a38d722af31bc94b9868d27bed2f9f7c5cff.tar.bz2
samba-8cd4a38d722af31bc94b9868d27bed2f9f7c5cff.zip
lib: move the string wrappers from source3/include to common lib/util
this will allow the common charcnv library to use the string wrappers Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/include/safe_string.h106
1 files changed, 1 insertions, 105 deletions
diff --git a/source3/include/safe_string.h b/source3/include/safe_string.h
index 611f850d12..03878b48f5 100644
--- a/source3/include/safe_string.h
+++ b/source3/include/safe_string.h
@@ -62,110 +62,6 @@
#endif /* !_SPLINT_ */
-/* We need a number of different prototypes for our
- non-existant fuctions */
-char * __unsafe_string_function_usage_here__(void);
-
-size_t __unsafe_string_function_usage_here_size_t__(void);
-
-size_t __unsafe_string_function_usage_here_char__(void);
-
-#ifdef HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS
-
-/* if the compiler will optimize out function calls, then use this to tell if we are
- have the correct types (this works only where sizeof() returns the size of the buffer, not
- the size of the pointer). */
-
-#define CHECK_STRING_SIZE(d, len) (sizeof(d) != (len) && sizeof(d) != sizeof(char *))
-
-#else /* HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS */
-
-#endif /* HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS */
-
-#define safe_strcpy_base(dest, src, base, size) \
- safe_strcpy(dest, src, size-PTR_DIFF(dest,base)-1)
-
-/* String copy functions - macro hell below adds 'type checking' (limited,
- but the best we can do in C) */
-
-#define fstrcpy(d,s) safe_strcpy((d),(s),sizeof(fstring)-1)
-#define fstrcat(d,s) safe_strcat((d),(s),sizeof(fstring)-1)
-#define nstrcpy(d,s) safe_strcpy((d), (s),sizeof(nstring)-1)
-#define unstrcpy(d,s) safe_strcpy((d), (s),sizeof(unstring)-1)
-
-/* the addition of the DEVELOPER checks in safe_strcpy means we must
- * update a lot of code. To make this a little easier here are some
- * functions that provide the lengths with less pain */
-
-/* overmalloc_safe_strcpy: DEPRECATED! Used when you know the
- * destination buffer is longer than maxlength, but you don't know how
- * long. This is not a good situation, because we can't do the normal
- * sanity checks. Don't use in new code! */
-
-#define overmalloc_safe_strcpy(dest,src,maxlength) \
- safe_strcpy_fn(dest,src,maxlength)
-
-#ifdef HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS
-
-/* if the compiler will optimize out function calls, then use this to tell if we are
- have the correct types (this works only where sizeof() returns the size of the buffer, not
- the size of the pointer). */
-
-#define safe_strcpy(d, s, max_len) \
- (CHECK_STRING_SIZE(d, max_len+1) \
- ? __unsafe_string_function_usage_here__() \
- : safe_strcpy_fn((d), (s), (max_len)))
-
-#define safe_strcat(d, s, max_len) \
- (CHECK_STRING_SIZE(d, max_len+1) \
- ? __unsafe_string_function_usage_here__() \
- : safe_strcat_fn((d), (s), (max_len)))
-
-#define push_string_check(dest, src, dest_len, flags) \
- (CHECK_STRING_SIZE(dest, dest_len) \
- ? __unsafe_string_function_usage_here_size_t__() \
- : push_string_check_fn(dest, src, dest_len, flags))
-
-#define pull_string_talloc(ctx, base_ptr, smb_flags2, dest, src, src_len, flags) \
- pull_string_talloc_fn(ctx, base_ptr, smb_flags2, dest, src, src_len, flags)
-
-#define clistr_push(cli, dest, src, dest_len, flags) \
- (CHECK_STRING_SIZE(dest, dest_len) \
- ? __unsafe_string_function_usage_here_size_t__() \
- : clistr_push_fn(cli, dest, src, dest_len, flags))
-
-#define clistr_pull(inbuf, dest, src, dest_len, srclen, flags) \
- (CHECK_STRING_SIZE(dest, dest_len) \
- ? __unsafe_string_function_usage_here_size_t__() \
- : clistr_pull_fn(inbuf, dest, src, dest_len, srclen, flags))
-
-#define srvstr_push(base_ptr, smb_flags2, dest, src, dest_len, flags) \
- (CHECK_STRING_SIZE(dest, dest_len) \
- ? __unsafe_string_function_usage_here_size_t__() \
- : srvstr_push_fn(base_ptr, smb_flags2, dest, src, dest_len, flags))
-
-/* This allows the developer to choose to check the arguments to
- strlcpy. if the compiler will optimize out function calls, then
- use this to tell if we are have the correct size buffer (this works only
- where sizeof() returns the size of the buffer, not the size of the
- pointer), so stack and static variables only */
-
-#define checked_strlcpy(dest, src, size) \
- (sizeof(dest) != (size) \
- ? __unsafe_string_function_usage_here_size_t__() \
- : strlcpy(dest, src, size))
-
-#else
-
-#define safe_strcpy safe_strcpy_fn
-#define safe_strcat safe_strcat_fn
-#define push_string_check push_string_check_fn
-#define pull_string_talloc pull_string_talloc_fn
-#define clistr_push clistr_push_fn
-#define clistr_pull clistr_pull_fn
-#define srvstr_push srvstr_push_fn
-#define checked_strlcpy strlcpy
-
-#endif
+#include "lib/util/string_wrappers.h"
#endif