[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56250] trunk/blender/source/blender/ blenkernel/intern/anim_sys.c: use string escaping when renaming animation paths - BKE_animdata_fix_paths_rename ()

Campbell Barton ideasman42 at gmail.com
Tue Apr 23 22:24:10 CEST 2013


Revision: 56250
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56250
Author:   campbellbarton
Date:     2013-04-23 20:24:10 +0000 (Tue, 23 Apr 2013)
Log Message:
-----------
use string escaping when renaming animation paths - BKE_animdata_fix_paths_rename()

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/anim_sys.c

Modified: trunk/blender/source/blender/blenkernel/intern/anim_sys.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim_sys.c	2013-04-23 20:10:22 UTC (rev 56249)
+++ trunk/blender/source/blender/blenkernel/intern/anim_sys.c	2013-04-23 20:24:10 UTC (rev 56250)
@@ -38,9 +38,10 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "BLI_utildefines.h"
+#include "BLI_array.h"
 #include "BLI_blenlib.h"
 #include "BLI_dynstr.h"
-#include "BLI_utildefines.h"
 
 #include "BLF_translation.h"
 
@@ -725,8 +726,15 @@
 	
 	if ((oldName != NULL) && (newName != NULL)) {
 		/* pad the names with [" "] so that only exact matches are made */
-		oldN = BLI_sprintfN("[\"%s\"]", oldName);
-		newN = BLI_sprintfN("[\"%s\"]", newName);
+		const size_t name_old_len = strlen(oldName);
+		const size_t name_new_len = strlen(newName);
+		char *name_old_esc = BLI_array_alloca(name_old_esc, (name_old_len * 2) + 1);
+		char *name_new_esc = BLI_array_alloca(name_new_esc, (name_new_len * 2) + 1);
+
+		BLI_strescape(name_old_esc, oldName, (name_old_len * 2) + 1);
+		BLI_strescape(name_new_esc, newName, (name_new_len * 2) + 1);
+		oldN = BLI_sprintfN("[\"%s\"]", name_old_esc);
+		newN = BLI_sprintfN("[\"%s\"]", name_new_esc);
 	}
 	else {
 		oldN = BLI_sprintfN("[%d]", oldSubscript);




More information about the Bf-blender-cvs mailing list