[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31841] trunk/blender/source/blender/ collada/DocumentExporter.cpp: Bug #23715 in COLLADA exporter: prepend an '_ ' to the ID if it starts with an illegal character.

Arystanbek Dyussenov arystan.d at gmail.com
Thu Sep 9 13:01:30 CEST 2010


Revision: 31841
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31841
Author:   kazanbas
Date:     2010-09-09 13:01:30 +0200 (Thu, 09 Sep 2010)

Log Message:
-----------
Bug #23715 in COLLADA exporter: prepend an '_' to the ID if it starts with an illegal character.
Pointed out by Tom Haines. Thanks!

Modified Paths:
--------------
    trunk/blender/source/blender/collada/DocumentExporter.cpp

Modified: trunk/blender/source/blender/collada/DocumentExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/DocumentExporter.cpp	2010-09-09 08:14:36 UTC (rev 31840)
+++ trunk/blender/source/blender/collada/DocumentExporter.cpp	2010-09-09 11:01:30 UTC (rev 31841)
@@ -236,9 +236,15 @@
 	if (id.size() == 0)
 	{ return id; }
 	std::string id_translated = id;
-	id_translated[0] = translate_start_name_map[(unsigned int)id_translated[0]];
-	for (unsigned int i=1; i < id_translated.size(); i++)
+	int offset = 0;
+	// prepend '_' if the first character is illegal and not '_' already
+	if (id[0] != '_' && translate_start_name_map[(unsigned int)id[0]] == '_')
 	{
+		id_translated.insert(0, 1, '_');
+		offset = 1;
+	}
+	for (unsigned int i=offset; i < id_translated.size(); i++)
+	{
 		id_translated[i] = translate_name_map[(unsigned int)id_translated[i]];
 	}
 	return id_translated;





More information about the Bf-blender-cvs mailing list