Revision: 56929
http://sourceforge.net/p/brlcad/code/56929
Author: brlcad
Date: 2013-08-18 16:41:44 +0000 (Sun, 18 Aug 2013)
Log Message:
-----------
eliminate the fixed 256-char array, use a bu_vls. convert sizes to size_t.
Modified Paths:
--------------
brlcad/trunk/src/conv/3dm/3dm-g.cpp
Modified: brlcad/trunk/src/conv/3dm/3dm-g.cpp
===================================================================
--- brlcad/trunk/src/conv/3dm/3dm-g.cpp 2013-08-18 16:32:25 UTC (rev 56928)
+++ brlcad/trunk/src/conv/3dm/3dm-g.cpp 2013-08-18 16:41:44 UTC (rev 56929)
@@ -78,7 +78,7 @@
}
-int
+size_t
RegionCnt(std::string &name)
{
REGION_CNT_MAP::iterator iter = region_cnt_map.find(name);
@@ -87,7 +87,7 @@
region_cnt_map.insert(std::pair<std::string, int>(name, 1));
return 1;
} else {
- int cnt = iter->second + 1;
+ size_t cnt = iter->second + 1;
region_cnt_map.erase(iter);
region_cnt_map.insert(std::pair<std::string, int>(name, cnt));
return cnt;
@@ -218,7 +218,7 @@
int
main(int argc, char** argv)
{
- int mcount = 0;
+ size_t mcount = 0;
int verbose_mode = 0;
int random_colors = 0;
int use_uuidnames = 0;
@@ -342,32 +342,38 @@
ON_String constr(myAttributes.m_name);
if (constr == NULL) {
std::string genName = "";
- char name[256];
+ struct bu_vls name = BU_VLS_INIT_ZERO;
+
/* Use layer name to help name un-named regions/objects */
if (myAttributes.m_layer_index > 0) {
const ON_Layer& layer =
model.m_layer_table[myAttributes.m_layer_index];
ON_wString layer_name = layer.LayerName();
- bu_strlcpy(name, ON_String(layer_name), sizeof(name));
- genName = name;
+ bu_vls_strcpy(&name, ON_String(layer_name));
+ genName = bu_vls_addr(&name);
if (genName.length() <= 0) {
genName = GENERIC_NAME;
}
- dump->Print("\n\nlayername:\"%s\"\n\n", name);
+ dump->Print("\n\nlayername:\"%s\"\n\n", bu_vls_addr(&name));
} else {
genName = GENERIC_NAME;
}
+
/* For layer named regions use layer region count
* instead of global region count
*/
if (genName.compare(GENERIC_NAME) == 0) {
- genName+=itoa(mcount++);
+ bu_vls_printf(&name, "%zd", mcount++);
+ genName += bu_vls_addr(&name);
geom_base = genName.c_str();
} else {
- int region_cnt = RegionCnt(genName);
- genName+=itoa(region_cnt);
+ size_t region_cnt = RegionCnt(genName);
+ bu_vls_printf(&name, "%zd", region_cnt);
+ genName += bu_vls_addr(&name);
geom_base = genName.c_str();
}
+
dump->Print("Object has no name - creating one %s.\n",
geom_base.c_str());
+ bu_vls_free(&name);
} else {
const char* cstr = constr;
geom_base = cstr;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits