diff options
Diffstat (limited to 'source/blender/blenlib/BLI_string.h')
-rw-r--r-- | source/blender/blenlib/BLI_string.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/source/blender/blenlib/BLI_string.h b/source/blender/blenlib/BLI_string.h index 958f240e3a8..9a7fa521af1 100644 --- a/source/blender/blenlib/BLI_string.h +++ b/source/blender/blenlib/BLI_string.h @@ -1,6 +1,4 @@ /* - * $Id$ - * * ***** BEGIN GPL LICENSE BLOCK ***** * * This program is free software; you can redistribute it and/or @@ -135,6 +133,28 @@ 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); |