Revision: 77437
          http://sourceforge.net/p/brlcad/code/77437
Author:   brlcad
Date:     2020-10-15 05:05:20 +0000 (Thu, 15 Oct 2020)
Log Message:
-----------
nix the unnecessary vls.  fixes memory leak too.

Modified Paths:
--------------
    brlcad/trunk/src/libdm/dm_plugins.cpp

Modified: brlcad/trunk/src/libdm/dm_plugins.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm_plugins.cpp       2020-10-15 03:33:04 UTC (rev 
77436)
+++ brlcad/trunk/src/libdm/dm_plugins.cpp       2020-10-15 05:05:20 UTC (rev 
77437)
@@ -104,13 +104,8 @@
        return;
     }
 
-    // We've got something, and may need a separator
-    struct bu_vls sep = BU_VLS_INIT_ZERO;
-    if (!separator) {
-       bu_vls_sprintf(&sep, " ");
-    } else {
-       bu_vls_sprintf(&sep, "%s", separator);
-    }
+    if (!separator)
+       separator = " ";
 
     // TODO - the first method below is independent of specific backends,
     // and preferable for that reason.  Unfortunately, Archer is calling
@@ -126,12 +121,14 @@
     for (d_it = dmb->begin(); d_it != dmb->end(); d_it++) {
        std::string key = d_it->first;
        const struct dm *d = d_it->second;
-       if (strlen(bu_vls_cstr(list)) > 0) bu_vls_printf(list, "%s", 
bu_vls_cstr(&sep));
+       if (strlen(bu_vls_cstr(list)) > 0)
+           bu_vls_printf(list, "%s", separator);
        const char *dname = dm_get_name(d);
        if (dname)
            bu_vls_printf(list, "%s", dname);
     }
-    if (strlen(bu_vls_cstr(list)) > 0) bu_vls_printf(list, "%s", 
bu_vls_cstr(&sep));
+    if (strlen(bu_vls_cstr(list)) > 0)
+       bu_vls_printf(list, "%s", separator);
     bu_vls_printf(list, "nu");
 #else
     static const char *priority_list[] = {"osgl", "wgl", "ogl", "X", "tk", 
"nu"};
@@ -149,7 +146,8 @@
            continue;
        }
        const struct dm *d = d_it->second;
-       if (strlen(bu_vls_cstr(list)) > 0) bu_vls_printf(list, "%s", 
bu_vls_cstr(&sep));
+       if (strlen(bu_vls_cstr(list)) > 0)
+           bu_vls_printf(list, "%s", separator);
        const char *dname = dm_get_name(d);
        if (dname)
            bu_vls_printf(list, "%s", dname);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to