diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2009-03-01 16:41:57 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2009-03-01 16:41:57 +0100 |
commit | 4903d20c215a01f70c242cb8cf4d455d0e352b7f (patch) | |
tree | 75e0ff6c58546ee4e1d68d3b677c7c75e56fcb68 /source3/lib | |
parent | 9f6e2d64852026d118c717d80236177fd74331eb (diff) | |
parent | 09ac816b36e45fd537af2f7fe7c57a11f5c744f5 (diff) | |
download | samba-4903d20c215a01f70c242cb8cf4d455d0e352b7f.tar.gz samba-4903d20c215a01f70c242cb8cf4d455d0e352b7f.tar.bz2 samba-4903d20c215a01f70c242cb8cf4d455d0e352b7f.zip |
Merge branch 'master' of git://git.samba.org/samba into convenience
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/util_str.c | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index 9358061797..b9ccb83e55 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -36,118 +36,6 @@ const char toupper_ascii_fast_table[128] = { }; /** - * @file - * @brief String utilities. - **/ - -static bool next_token_internal_talloc(TALLOC_CTX *ctx, - const char **ptr, - char **pp_buff, - const char *sep, - bool ltrim) -{ - char *s; - char *saved_s; - char *pbuf; - bool quoted; - size_t len=1; - - *pp_buff = NULL; - if (!ptr) { - return(false); - } - - s = (char *)*ptr; - - /* default to simple separators */ - if (!sep) { - sep = " \t\n\r"; - } - - /* find the first non sep char, if left-trimming is requested */ - if (ltrim) { - while (*s && strchr_m(sep,*s)) { - s++; - } - } - - /* nothing left? */ - if (!*s) { - return false; - } - - /* When restarting we need to go from here. */ - saved_s = s; - - /* Work out the length needed. */ - for (quoted = false; *s && - (quoted || !strchr_m(sep,*s)); s++) { - if (*s == '\"') { - quoted = !quoted; - } else { - len++; - } - } - - /* We started with len = 1 so we have space for the nul. */ - *pp_buff = TALLOC_ARRAY(ctx, char, len); - if (!*pp_buff) { - return false; - } - - /* copy over the token */ - pbuf = *pp_buff; - s = saved_s; - for (quoted = false; *s && - (quoted || !strchr_m(sep,*s)); s++) { - if ( *s == '\"' ) { - quoted = !quoted; - } else { - *pbuf++ = *s; - } - } - - *ptr = (*s) ? s+1 : s; - *pbuf = 0; - - return true; -} - -#if 0 -/* - * Get the next token from a string, return false if none found. Handles - * double-quotes. This version trims leading separator characters before - * looking for a token. - */ -bool next_token(const char **ptr, char *buff, const char *sep, size_t bufsize) -{ - return next_token_internal(ptr, buff, sep, bufsize, true); -} -#endif - -bool next_token_talloc(TALLOC_CTX *ctx, - const char **ptr, - char **pp_buff, - const char *sep) -{ - return next_token_internal_talloc(ctx, ptr, pp_buff, sep, true); -} - -/* - * Get the next token from a string, return false if none found. Handles - * double-quotes. This version does not trim leading separator characters - * before looking for a token. - */ - -bool next_token_no_ltrim_talloc(TALLOC_CTX *ctx, - const char **ptr, - char **pp_buff, - const char *sep) -{ - return next_token_internal_talloc(ctx, ptr, pp_buff, sep, false); -} - -/** * Case insensitive string compararison. * * iconv does not directly give us a way to compare strings in |