diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-29 12:18:42 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-29 12:18:42 +0400 |
commit | 1e4be0a4bf9b16aa74ced29fcac8aef56195bbe8 (patch) | |
tree | e40f9909ce8893f7b94b006f1e7199615f2048a4 /source/blender/blenlib | |
parent | ed77c356fc1c323cef306fef2e7af03fd67a6871 (diff) |
replace BLI_strtok_r from r41337 with lighter method that doesnt alloc for template_list
Diffstat (limited to 'source/blender/blenlib')
-rw-r--r-- | source/blender/blenlib/BLI_string.h | 23 | ||||
-rw-r--r-- | source/blender/blenlib/intern/bpath.c | 3 | ||||
-rw-r--r-- | source/blender/blenlib/intern/string.c | 29 |
3 files changed, 1 insertions, 54 deletions
diff --git a/source/blender/blenlib/BLI_string.h b/source/blender/blenlib/BLI_string.h index 9a7fa521af1..46389a9259e 100644 --- a/source/blender/blenlib/BLI_string.h +++ b/source/blender/blenlib/BLI_string.h @@ -132,29 +132,6 @@ int BLI_strcasecmp(const char *s1, const char *s2); int BLI_strncasecmp(const char *s1, const char *s2, size_t len); int BLI_natstrcmp(const char *s1, const char *s2); size_t BLI_strnlen(const char *str, size_t maxlen); - - /** - * Split str on the first occurence of delimiter, returns the first - * part as a mallocN'd string, and stores the second part into - * ctx (also mallocN'd). - * If str is NULL, split on ctx instead. - * This allows to iterate over this "generator" function: - * - * char *ctx = NULL; - * char *res = NULL; - * for(res = BLI_strtok_r("a;dummy;csv;line", ";", &ctx); res; res = BLI_strtok_r(NULL, ";", &ctx)) { - * printf(res); - * MEM_freeN(res); - * } - * - * @param str The string to be split. - * @param delimiter The char used to split str apart. - * @param ctx The "context" string. It’s a pointer inside the org passed @str, - * so it has no specific mem management. - * @retval Returns the mallocN'd first element from split str (or ctx). - */ -char *BLI_strtok_r(char *str, const char *delimiter, char **ctx); - void BLI_timestr(double _time, char *str); /* time var is global */ void BLI_ascii_strtolower(char *str, int len); diff --git a/source/blender/blenlib/intern/bpath.c b/source/blender/blenlib/intern/bpath.c index e42e02fb24f..b7fe7ef5efd 100644 --- a/source/blender/blenlib/intern/bpath.c +++ b/source/blender/blenlib/intern/bpath.c @@ -325,8 +325,7 @@ static int rewrite_path_fixed_dirfile(char path_dir[FILE_MAXDIR], char path_file } if (visit_cb(userdata, path_dst, (const char *)path_src)) { - BLI_split_dirfile(path_dst, path_dir, path_file, - sizeof(path_dir), sizeof(path_file)); + BLI_split_dirfile(path_dst, path_dir, path_file, FILE_MAXDIR, FILE_MAXFILE); return TRUE; } else { diff --git a/source/blender/blenlib/intern/string.c b/source/blender/blenlib/intern/string.c index 3ec84e0b593..3a66425a5de 100644 --- a/source/blender/blenlib/intern/string.c +++ b/source/blender/blenlib/intern/string.c @@ -375,35 +375,6 @@ int BLI_natstrcmp(const char *s1, const char *s2) return 0; } -/* As unfortunately strtok_r is not available everywhere... */ -char *BLI_strtok_r(char *str, const char *delimiter, char **ctx) -{ - char *cut = NULL, *ret = NULL; - char *split = str ? str : *ctx; - - if(!split) { - return ret; - } - - cut = strchr(split, *delimiter); - if(cut) { - size_t len_ret = cut - split; - size_t len_ctx = strlen(split) - len_ret - 1; - ret = BLI_strdupn(split, len_ret); - if(len_ctx > 0) { - *ctx = split+len_ret+1; - } - else { - *ctx = NULL; - } - } - else { - ret = BLI_strdup(split); - *ctx = NULL; - } - return ret; -} - void BLI_timestr(double _time, char *str) { /* format 00:00:00.00 (hr:min:sec) string has to be 12 long */ |