Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2010-02-27 18:39:13 +0300
committerTon Roosendaal <ton@blender.org>2010-02-27 18:39:13 +0300
commit7fca47e0cf3ca0d520bacc8f079f4e33d4521b71 (patch)
treec50bd2733043696c45b791d2e77390cc000bc05b
parentc76b6fcb06c45f0e018a6c8a892f380099a2371a (diff)
fix in commit today using strnlen, which is only available for gcc.
This adds a BLI_strnlen() to the blenlib. Patch provided by Sergey Sharybin (nazgul)
-rw-r--r--source/blender/blenlib/intern/BLI_dynstr.c2
-rw-r--r--source/blender/blenlib/intern/string.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/blenlib/intern/BLI_dynstr.c b/source/blender/blenlib/intern/BLI_dynstr.c
index 09d28ddbc3a..4b7b61e64d9 100644
--- a/source/blender/blenlib/intern/BLI_dynstr.c
+++ b/source/blender/blenlib/intern/BLI_dynstr.c
@@ -85,7 +85,7 @@ void BLI_dynstr_append(DynStr *ds, const char *cstr) {
void BLI_dynstr_nappend(DynStr *ds, const char *cstr, int len) {
DynStrElem *dse= malloc(sizeof(*dse));
- int cstrlen= strnlen(cstr, len);
+ int cstrlen= BLI_strnlen(cstr, len);
dse->str= malloc(cstrlen+1);
memcpy(dse->str, cstr, cstrlen);
diff --git a/source/blender/blenlib/intern/string.c b/source/blender/blenlib/intern/string.c
index bf2e1d28b3a..dd1d0a3bd4f 100644
--- a/source/blender/blenlib/intern/string.c
+++ b/source/blender/blenlib/intern/string.c
@@ -342,3 +342,10 @@ void BLI_timestr(double _time, char *str)
str[11]=0;
}
+
+/* determine the length of a fixed-size string */
+size_t BLI_strnlen(const char *str, size_t maxlen)
+{
+ const char *end = memchr(str, '\0', maxlen);
+ return end ? (size_t) (end - str) : maxlen;
+}