Revision: 77683
          http://sourceforge.net/p/brlcad/code/77683
Author:   brlcad
Date:     2020-11-04 19:00:59 +0000 (Wed, 04 Nov 2020)
Log Message:
-----------
rewrite _ged_free_search_set() to simplify the looping construct and eliminate 
some unnecessary conditionals.  avoids calling BU_PTBL_GET on an invalid index 
too.

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

Modified: brlcad/trunk/src/libged/search/search.c
===================================================================
--- brlcad/trunk/src/libged/search/search.c     2020-11-04 18:51:50 UTC (rev 
77682)
+++ brlcad/trunk/src/libged/search/search.c     2020-11-04 19:00:59 UTC (rev 
77683)
@@ -119,25 +119,24 @@
 HIDDEN void
 _ged_free_search_set(struct bu_ptbl *search_set)
 {
-    int i;
+    size_t i;
 
     if (!search_set)
        return;
 
-    for (i = (int)BU_PTBL_LEN(search_set) - 1; i >= 0; i--) {
+    for (i = 0; i < BU_PTBL_LEN(search_set); i++) {
        struct ged_search *search = (struct ged_search 
*)BU_PTBL_GET(search_set, i);
 
-       if (search && search->paths)
-           bu_free(search->paths, "free search paths");
-
-       if (search)
+       if (search) {
+           if (search->paths) {
+               bu_free(search->paths, "free search paths");
+           }
            bu_free(search, "free search");
+       }
     }
 
-    if (search_set) {
-       bu_ptbl_free(search_set);
-       bu_free(search_set, "free search container");
-    }
+    bu_ptbl_free(search_set);
+    bu_free(search_set, "free search container");
 }
 
 
@@ -454,10 +453,12 @@
      * each path is treated as its own search */
     if (all_local) {
        struct bu_ptbl *uniq_db_objs;
+       size_t len = BU_PTBL_LEN(search_set);
+
        BU_ALLOC(uniq_db_objs, struct bu_ptbl);
        BU_PTBL_INIT(uniq_db_objs);
 
-       for (i = (int)BU_PTBL_LEN(search_set) - 1; i >= 0; i--) {
+       for (i = (int)len - 1; i >= 0; i--) {
            int path_cnt = 0;
            struct ged_search *search = (struct ged_search 
*)BU_PTBL_GET(search_set, i);
            struct directory *curr_path = search->paths[path_cnt];

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