Revision: 33632
          http://brlcad.svn.sourceforge.net/brlcad/?rev=33632&view=rev
Author:   bob1961
Date:     2009-01-30 21:23:45 +0000 (Fri, 30 Jan 2009)

Log Message:
-----------
Fixed a bug in ged_prefix (i.e. renamed object(s) not getting written to disk).

Modified Paths:
--------------
    brlcad/trunk/src/libged/prefix.c

Modified: brlcad/trunk/src/libged/prefix.c
===================================================================
--- brlcad/trunk/src/libged/prefix.c    2009-01-30 20:00:21 UTC (rev 33631)
+++ brlcad/trunk/src/libged/prefix.c    2009-01-30 21:23:45 UTC (rev 33632)
@@ -38,9 +38,9 @@
 int
 ged_prefix(struct ged *gedp, int argc, const char *argv[])
 {
-    register int       i, k;
+    register int i, k;
     register struct directory *dp;
-    struct rt_db_internal      intern;
+    struct rt_db_internal intern;
     struct rt_comb_internal *comb;
     char tempstring_v4[NAMESIZE+1];
     struct bu_vls tempstring_v5;
@@ -66,6 +66,7 @@
        return BRLCAD_ERROR;
     }
 
+    bu_log("XXXged_prefix: step 1\n");
     bu_vls_init(&tempstring_v5);
 
     /* First, check validity, and change node names */
@@ -99,12 +100,25 @@
            argv[i] = "";
            continue;
        }
+
        /*  Change object name in the directory. */
        if (db_rename(gedp->ged_wdbp->dbip, dp, tempstring) < 0) {
            bu_vls_free(&tempstring_v5);
            bu_vls_printf(&gedp->ged_result_str, "error in rename to %s, 
aborting\n", tempstring);
            return BRLCAD_ERROR;
        }
+
+       if (rt_db_get_internal(&intern, dp, gedp->ged_wdbp->dbip, (fastf_t 
*)NULL, &rt_uniresource) < 0) {
+           bu_vls_printf(&gedp->ged_result_str, "Database read error, 
aborting");
+           return BRLCAD_ERROR;
+       }
+
+       /*  Change object name on disk. */
+       if (rt_db_put_internal(dp, gedp->ged_wdbp->dbip, &intern, 
&rt_uniresource)) {
+           bu_vls_printf(&gedp->ged_result_str, "Database write error, 
aborting");
+           return BRLCAD_ERROR;
+       }
+       bu_log("XXXged_prefix: changed name from %s to %s\n", argv[i], 
tempstring);
     }
 
     bu_vls_free(&tempstring_v5);


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

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to