[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27170] trunk/blender/source/blender/ blenlib/intern: fix in commit today using strnlen, which is only available for gcc.

Ton Roosendaal ton at blender.org
Sat Feb 27 16:39:13 CET 2010


Revision: 27170
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27170
Author:   ton
Date:     2010-02-27 16:39:13 +0100 (Sat, 27 Feb 2010)

Log Message:
-----------
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)

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c
    trunk/blender/source/blender/blenlib/intern/string.c

Modified: trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c	2010-02-27 15:28:34 UTC (rev 27169)
+++ trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c	2010-02-27 15:39:13 UTC (rev 27170)
@@ -85,7 +85,7 @@
 
 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);

Modified: trunk/blender/source/blender/blenlib/intern/string.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/string.c	2010-02-27 15:28:34 UTC (rev 27169)
+++ trunk/blender/source/blender/blenlib/intern/string.c	2010-02-27 15:39:13 UTC (rev 27170)
@@ -342,3 +342,10 @@
 	
 	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;
+}





More information about the Bf-blender-cvs mailing list