[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34275] trunk/blender/source/blender/ blenlib/intern/BLI_dynstr.c: BLI_dynstr_vappendf() was cutting off the last character when allocating strings.
Campbell Barton
ideasman42 at gmail.com
Wed Jan 12 07:01:08 CET 2011
Revision: 34275
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34275
Author: campbellbarton
Date: 2011-01-12 06:01:07 +0000 (Wed, 12 Jan 2011)
Log Message:
-----------
BLI_dynstr_vappendf() was cutting off the last character when allocating strings.
Modified Paths:
--------------
trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c
Modified: trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c 2011-01-12 05:49:33 UTC (rev 34274)
+++ trunk/blender/source/blender/blenlib/intern/BLI_dynstr.c 2011-01-12 06:01:07 UTC (rev 34275)
@@ -110,7 +110,7 @@
if(len == sizeof(fixedmessage))
message= fixedmessage;
else
- message= MEM_callocN(sizeof(char)*(len+1), "BLI_dynstr_appendf");
+ message= MEM_callocN(sizeof(char) * len, "BLI_dynstr_appendf");
/* cant reuse the same args, so work on a copy */
va_copy(args_cpy, args);
@@ -130,13 +130,14 @@
break;
}
}
- else if(retval > len) {
+ else if(retval >= len) {
/* in C99 the actual length required is returned */
if(message != fixedmessage)
MEM_freeN(message);
message= NULL;
- len= retval;
+ /* retval doesnt include \0 terminator */
+ len= retval + 1;
}
else
break;
More information about the Bf-blender-cvs
mailing list