[brlcad-commits] SF.net SVN: brlcad:[43717] brlcad/branches/cmake
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <sta...@us...> - 2011-03-05 03:47:21
|
Revision: 43717 http://brlcad.svn.sourceforge.net/brlcad/?rev=43717&view=rev Author: starseeker Date: 2011-03-05 03:47:14 +0000 (Sat, 05 Mar 2011) Log Message: ----------- MFC r43716 Modified Paths: -------------- brlcad/branches/cmake/TODO brlcad/branches/cmake/include/tie.h brlcad/branches/cmake/src/libged/nirt.c brlcad/branches/cmake/src/libged/search.c brlcad/branches/cmake/src/librt/db5_types.c brlcad/branches/cmake/src/librt/primitives/bot/btgf.c brlcad/branches/cmake/src/librt/primitives/bot/tie.c brlcad/branches/cmake/src/librt/primitives/bot/tie_kdtree.c brlcad/branches/cmake/src/librt/search.c Property Changed: ---------------- brlcad/branches/cmake/ Property changes on: brlcad/branches/cmake ___________________________________________________________________ Modified: svn:mergeinfo - /brlcad/trunk:43019-43029,43533-43552,43585-43602,43656-43657 + /brlcad/trunk:43019-43029,43533-43552,43585-43602,43656-43657,43673-43680,43698-43716 Modified: brlcad/branches/cmake/TODO =================================================================== --- brlcad/branches/cmake/TODO 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/TODO 2011-03-05 03:47:14 UTC (rev 43717) @@ -17,17 +17,19 @@ THESE TASKS SHOULD HAPPEN BEFORE THE NEXT RELEASE ------------------------------------------------- +* combination editor is broken, unbreak + * unbust nmg (host/net conversion bug) * test mintie optimization, test performance for release notes * test search . vs search / -* test / fix mged combination editor +* fix nirt on Windows -* mged init on Mac OS X, DISPLAY +* gqa regression is bombing out with malloc(0) in + allocate_per_region_data() -* fix nirt on Windows THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS ------------------------------------------------------- Modified: brlcad/branches/cmake/include/tie.h =================================================================== --- brlcad/branches/cmake/include/tie.h 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/include/tie.h 2011-03-05 03:47:14 UTC (rev 43717) @@ -121,8 +121,7 @@ struct tie_tri_s *tri_list; int stat; /* used for testing various statistics */ unsigned int kdmethod; /* Optimal or Fast */ - /* all tfloat altered stuff should be at the end. */ - TIE_3 min, max; + point_t min, max; vect_t amin, amax, mid; fastf_t radius; }; Modified: brlcad/branches/cmake/src/libged/nirt.c =================================================================== --- brlcad/branches/cmake/src/libged/nirt.c 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/src/libged/nirt.c 2011-03-05 03:47:14 UTC (rev 43717) @@ -409,7 +409,7 @@ for (i=1; i<gedp->ged_gdp->gd_rt_cmd_len; i++) { /* skip commands */ - if (strstr(gedp->ged_gdp->gd_rt_cmd[i], "-e") != NULL) + if (!strcmp(gedp->ged_gdp->gd_rt_cmd[i], "-e")) ++i; else { /* append other arguments (i.e. options, file and obj(s)) */ Modified: brlcad/branches/cmake/src/libged/search.c =================================================================== --- brlcad/branches/cmake/src/libged/search.c 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/src/libged/search.c 2011-03-05 03:47:14 UTC (rev 43717) @@ -55,76 +55,96 @@ if (argc < 2) { bu_vls_printf(&gedp->ged_result_str, " [path] [expressions...]\n"); - } else { - /* initialize list of search paths */ - BU_GETSTRUCT(path_list, db_full_path_list); - BU_LIST_INIT(&(path_list->l)); + return TCL_OK; + } + /* Check if we're doing a unique object list */ + if ((BU_STR_EQUAL(argv[plan_argv], "."))) { + build_uniq_list = 1; + plan_argv++; + if (argc < 3) { + bu_vls_printf(&gedp->ged_result_str, " [path] [expressions...]\n"); + return TCL_OK; + } + } - db_full_path_init(&dfp); - db_update_nref(gedp->ged_wdbp->dbip, &rt_uniresource); + /* initialize list of search paths */ + BU_GETSTRUCT(path_list, db_full_path_list); + BU_LIST_INIT(&(path_list->l)); - /* initialize result */ - bu_vls_trunc(&gedp->ged_result_str, 0); + db_full_path_init(&dfp); + db_update_nref(gedp->ged_wdbp->dbip, &rt_uniresource); - /* Check if we're doing a unique object list */ - if ((BU_STR_EQUAL(argv[plan_argv], "."))) { - build_uniq_list = 1; - plan_argv++; - } + /* initialize result */ + bu_vls_trunc(&gedp->ged_result_str, 0); - while (!plan_found) { - if (!((argv[plan_argv][0] == '-') || (argv[plan_argv][0] == '!') || (argv[plan_argv][0] == '(')) && (!BU_STR_EQUAL(argv[plan_argv], "/")) && (!BU_STR_EQUAL(argv[plan_argv], "."))) { - /* We seem to have a path - make sure it's valid */ - if (db_string_to_path(&dfp, gedp->ged_wdbp->dbip, argv[plan_argv]) == -1) { - bu_vls_printf(&gedp->ged_result_str, " Search path not found in database.\n"); - db_free_full_path(&dfp); - bu_free_argv(argc, argv); - return GED_ERROR; - } else { - BU_GETSTRUCT(new_entry, db_full_path_list); - new_entry->path = (struct db_full_path *) bu_malloc(sizeof(struct db_full_path), "new full path"); - db_full_path_init(new_entry->path); - db_dup_full_path(new_entry->path, (const struct db_full_path *)&dfp); - BU_LIST_PUSH(&(path_list->l), &(new_entry->l)); - plan_argv++; - } - } else { - plan_found = 1; - } - } + while (!plan_found) { + if (BU_STR_EQUAL(argv[plan_argv], "/") || BU_STR_EQUAL(argv[plan_argv], ".")) { + plan_argv++; + if (plan_argv == argc) { + bu_vls_printf(&gedp->ged_result_str, " [path] [expressions...]\n"); + db_free_full_path(&dfp); + bu_free_argv(argc, argv); + return TCL_OK; + } + } else { + if (!((argv[plan_argv][0] == '-') || (argv[plan_argv][0] == '!') || (argv[plan_argv][0] == '(')) ) { + /* We seem to have a path - make sure it's valid */ + if (db_string_to_path(&dfp, gedp->ged_wdbp->dbip, argv[plan_argv]) == -1) { + bu_vls_printf(&gedp->ged_result_str, " Search path not found in database.\n"); + db_free_full_path(&dfp); + bu_free_argv(argc, argv); + return GED_ERROR; + } else { + BU_GETSTRUCT(new_entry, db_full_path_list); + new_entry->path = (struct db_full_path *) bu_malloc(sizeof(struct db_full_path), "new full path"); + db_full_path_init(new_entry->path); + db_dup_full_path(new_entry->path, (const struct db_full_path *)&dfp); + BU_LIST_PUSH(&(path_list->l), &(new_entry->l)); + plan_argv++; + if (plan_argv == argc) { + bu_vls_printf(&gedp->ged_result_str, " [path] [expressions...]\n"); + db_free_full_path(&dfp); + bu_free_argv(argc, argv); + return TCL_OK; + } + } + } else { + plan_found = 1; + } + } + } - dbplan = db_search_formplan(&argv[plan_argv], gedp->ged_wdbp->dbip, gedp->ged_wdbp); - if (!dbplan) { - bu_vls_printf(&gedp->ged_result_str, "Failed to build find plan.\n"); - db_free_full_path(&dfp); - bu_free_argv(argc, argv); - db_free_full_path_list(path_list); - return GED_ERROR; - } else { - if (build_uniq_list) { - uniq_db_objs = db_search_unique_objects(dbplan, path_list, gedp->ged_wdbp->dbip, gedp->ged_wdbp); - } else { - search_results = db_search_full_paths(dbplan, path_list, gedp->ged_wdbp->dbip, gedp->ged_wdbp); - } - } + dbplan = db_search_formplan(&argv[plan_argv], gedp->ged_wdbp->dbip, gedp->ged_wdbp); + if (!dbplan) { + bu_vls_printf(&gedp->ged_result_str, "Failed to build find plan.\n"); + db_free_full_path(&dfp); + bu_free_argv(argc, argv); + db_free_full_path_list(path_list); + return GED_ERROR; + } else { + if (build_uniq_list) { + uniq_db_objs = db_search_unique_objects(dbplan, path_list, gedp->ged_wdbp->dbip, gedp->ged_wdbp); + } else { + search_results = db_search_full_paths(dbplan, path_list, gedp->ged_wdbp->dbip, gedp->ged_wdbp); + } + } - /* Assign results to string - if we're doing a list, process the results for unique objects - otherwise - * just assemble the full path list and return it */ - if (build_uniq_list) { - for (i=0; i < (int)BU_PTBL_LEN(uniq_db_objs); i++) { - dp = (struct directory *)BU_PTBL_GET(uniq_db_objs, i); - bu_vls_printf(&gedp->ged_result_str, "%s\n", dp->d_namep); - } - bu_ptbl_free(uniq_db_objs); - } else { - for(BU_LIST_FOR(entry, db_full_path_list, &(search_results->l))) { - bu_vls_printf(&gedp->ged_result_str, "%s\n", db_path_to_string(entry->path)); - } - db_free_full_path_list(search_results); - } + /* Assign results to string - if we're doing a list, process the results for unique objects - otherwise + * just assemble the full path list and return it */ + if (build_uniq_list) { + for (i=0; i < (int)BU_PTBL_LEN(uniq_db_objs); i++) { + dp = (struct directory *)BU_PTBL_GET(uniq_db_objs, i); + bu_vls_printf(&gedp->ged_result_str, "%s\n", dp->d_namep); + } + bu_ptbl_free(uniq_db_objs); + } else { + for(BU_LIST_FOR(entry, db_full_path_list, &(search_results->l))) { + bu_vls_printf(&gedp->ged_result_str, "%s\n", db_path_to_string(entry->path)); + } + db_free_full_path_list(search_results); } + db_free_full_path(&dfp); db_free_full_path_list(path_list); - db_free_full_path(&dfp); bu_free_argv(argc, argv); return TCL_OK; } Modified: brlcad/branches/cmake/src/librt/db5_types.c =================================================================== --- brlcad/branches/cmake/src/librt/db5_types.c 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/src/librt/db5_types.c 2011-03-05 03:47:14 UTC (rev 43717) @@ -180,7 +180,7 @@ int -db5_type_descrip_from_codes(char **descrip, const int major,const int minor) +db5_type_descrip_from_codes(char **descrip, const int major, const int minor) { register struct db5_type *tp; register int found_minors = 0; @@ -431,19 +431,18 @@ attr_type = db5_standardize_attribute(avpp->name); switch (attr_type) { case ATTR_REGION: - /* In the case of regions, values like Yes and 1 are causing trouble - * somewhere in the code. Do "R" for all affirmative cases and - * strip any non-affirmative cases out of the avs */ - if (BU_STR_EQUAL(avpp->value, "Yes") || BU_STR_EQUAL(avpp->value, "R") || BU_STR_EQUAL(avpp->value, "1") || - BU_STR_EQUAL(avpp->value, "Y") || BU_STR_EQUAL(avpp->value, "y")) { - (void)bu_avs_add(&avstmp, "region", "R"); - has_standard[ATTR_REGION] = 1; - } + /* In the case of regions, values like Yes and 1 are causing trouble + * somewhere in the code. Do "R" for all affirmative cases and + * strip any non-affirmative cases out of the avs */ + if (bu_str_true(avpp->value)) { + (void)bu_avs_add(&avstmp, "region", "R"); + has_standard[ATTR_REGION] = 1; + } break; case ATTR_REGION_ID: if (has_standard[ATTR_REGION_ID] != 1) { - (void)bu_avs_add(&avstmp, "region_id", bu_strdup(avpp->value)); - has_standard[ATTR_REGION_ID] = 1; + (void)bu_avs_add(&avstmp, "region_id", bu_strdup(avpp->value)); + has_standard[ATTR_REGION_ID] = 1; } else { (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); } @@ -457,40 +456,40 @@ } break; case ATTR_AIR: - if (has_standard[ATTR_AIR] != 1) { - (void)bu_avs_add(&avstmp, "air", bu_strdup(avpp->value)); - has_standard[ATTR_AIR] = 1; + if (has_standard[ATTR_AIR] != 1) { + (void)bu_avs_add(&avstmp, "air", bu_strdup(avpp->value)); + has_standard[ATTR_AIR] = 1; } else { (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); } break; case ATTR_LOS: - if (has_standard[ATTR_LOS] != 1) { - (void)bu_avs_add(&avstmp, "los", bu_strdup(avpp->value)); + if (has_standard[ATTR_LOS] != 1) { + (void)bu_avs_add(&avstmp, "los", bu_strdup(avpp->value)); has_standard[ATTR_LOS] = 1; } else { (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); } break; case ATTR_COLOR: - if (has_standard[ATTR_COLOR] != 1) { - (void)bu_avs_add(&avstmp, "color", bu_strdup(avpp->value)); - has_standard[ATTR_COLOR] = 1; + if (has_standard[ATTR_COLOR] != 1) { + (void)bu_avs_add(&avstmp, "color", bu_strdup(avpp->value)); + has_standard[ATTR_COLOR] = 1; } else { (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); } break; case ATTR_SHADER: - if (has_standard[ATTR_SHADER] != 1) { - (void)bu_avs_add(&avstmp, "oshader", bu_strdup(avpp->value)); - has_standard[ATTR_SHADER] = 1; + if (has_standard[ATTR_SHADER] != 1) { + (void)bu_avs_add(&avstmp, "oshader", bu_strdup(avpp->value)); + has_standard[ATTR_SHADER] = 1; } else { (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); } break; case ATTR_INHERIT: - if (has_standard[ATTR_INHERIT] != 1) { - (void)bu_avs_add(&avstmp, "inherit", bu_strdup(avpp->value)); + if (has_standard[ATTR_INHERIT] != 1) { + (void)bu_avs_add(&avstmp, "inherit", bu_strdup(avpp->value)); has_standard[ATTR_INHERIT] = 1; } else { (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); @@ -498,12 +497,12 @@ break; default: /* not a standard attribute, just copy it*/ - (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); + (void)bu_avs_add(&avstmp, bu_strdup(avpp->name), bu_strdup(avpp->value)); break; } } bu_avs_free(avs); - bu_avs_merge(avs,&avstmp); + bu_avs_merge(avs, &avstmp); bu_avs_free(&avstmp); } @@ -527,8 +526,7 @@ /* region flag */ bu_vls_sprintf(&newval, "%s", bu_avs_get(&avs, "region")); - if (BU_STR_EQUAL(bu_vls_addr(&newval), "Yes") || BU_STR_EQUAL(bu_vls_addr(&newval), "R") || BU_STR_EQUAL(bu_vls_addr(&newval), "1") || - BU_STR_EQUAL(bu_vls_addr(&newval), "Y") || BU_STR_EQUAL(bu_vls_addr(&newval), "y")) { + if (bu_str_true(bu_vls_addr(&newval))) { comb->region_flag = 1; dp->d_flags |= RT_DIR_REGION; } else { @@ -589,8 +587,7 @@ /* inherit */ bu_vls_sprintf(&newval, "%s", bu_avs_get(&avs, "inherit")); - if (BU_STR_EQUAL(bu_vls_addr(&newval), "Yes") || BU_STR_EQUAL(bu_vls_addr(&newval), "1") || - BU_STR_EQUAL(bu_vls_addr(&newval), "Y") || BU_STR_EQUAL(bu_vls_addr(&newval), "y")) { + if (bu_str_true(bu_vls_addr(&newval))) { comb->inherit = 1; } else { comb->inherit = 0; Modified: brlcad/branches/cmake/src/librt/primitives/bot/btgf.c =================================================================== --- brlcad/branches/cmake/src/librt/primitives/bot/btgf.c 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/src/librt/primitives/bot/btgf.c 2011-03-05 03:47:14 UTC (rev 43717) @@ -61,8 +61,8 @@ struct tie_s *tie = (struct tie_s *)bot->tie; tie_prep(tie); - VMOVE(stp->st_min, tie->min.v); - VMOVE(stp->st_max, tie->max.v); + VMOVE(stp->st_min, tie->min); + VMOVE(stp->st_max, tie->max); VMOVE(stp->st_center, tie->mid); stp->st_bradius = stp->st_aradius = tie->radius; stp->st_specific = bot; Modified: brlcad/branches/cmake/src/librt/primitives/bot/tie.c =================================================================== --- brlcad/branches/cmake/src/librt/primitives/bot/tie.c 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/src/librt/primitives/bot/tie.c 2011-03-05 03:47:14 UTC (rev 43717) @@ -225,9 +225,9 @@ /* Initialize ray segment */ if (ray->dir[split] < 0.0) - far = (tie->min.v[split] - ray->pos[split]) * dirinv[split]; + far = (tie->min[split] - ray->pos[split]) * dirinv[split]; else - far = (tie->max.v[split] - ray->pos[split]) * dirinv[split]; + far = (tie->max[split] - ray->pos[split]) * dirinv[split]; stack_ind = 0; stack[0].node = tie->kdtree; Modified: brlcad/branches/cmake/src/librt/primitives/bot/tie_kdtree.c =================================================================== --- brlcad/branches/cmake/src/librt/primitives/bot/tie_kdtree.c 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/src/librt/primitives/bot/tie_kdtree.c 2011-03-05 03:47:14 UTC (rev 43717) @@ -147,8 +147,8 @@ tie->kdtree->data = (void *)bu_malloc(sizeof(struct tie_geom_s), __FUNCTION__); g = ((struct tie_geom_s *)(tie->kdtree->data)); g->tri_num = 0; - VSETALL(tie->min.v, +INFINITY); - VSETALL(tie->max.v, -INFINITY); + VSETALL(tie->min, +INFINITY); + VSETALL(tie->max, -INFINITY); g->tri_list = (struct tie_tri_s **)bu_malloc(sizeof(struct tie_tri_s *) * tri_num, __FUNCTION__); @@ -159,11 +159,11 @@ /* Get Bounding Box of Triangle */ MATH_BBOX(min, max, tri_list[i].data[0], tri_list[i].data[1], tri_list[i].data[2]); /* Check to see if defines a new Max or Min point */ - MATH_VEC_MIN(tie->min, min); - MATH_VEC_MAX(tie->max, max); + VMIN(tie->min, min.v); + VMAX(tie->max, max.v); } - VADD2SCALE(tie->mid, tie->min.v, tie->max.v, 0.5); - tie->radius = DIST_PT_PT(tie->max.v, tie->mid); + VADD2SCALE(tie->mid, tie->min, tie->max, 0.5); + tie->radius = DIST_PT_PT(tie->max, tie->mid); g->tri_num = tri_num; } @@ -584,7 +584,7 @@ } static void -tie_kdtree_build(struct tie_s *tie, struct tie_kdtree_s *node, unsigned int depth, TIE_3 min, TIE_3 max) +tie_kdtree_build(struct tie_s *tie, struct tie_kdtree_s *node, unsigned int depth, point_t min, point_t max) { struct tie_geom_s *child[2], *node_gd = (struct tie_geom_s *)(node->data); TIE_3 cmin[2], cmax[2], center[2], half_size[2]; @@ -597,10 +597,10 @@ /* initialize cmax to make the compiler happy */ - VMOVE(cmax[0].v, max.v); - VMOVE(cmin[0].v, min.v); - VMOVE(cmax[1].v, max.v); - VMOVE(cmin[1].v, min.v); + VMOVE(cmax[0].v, max); + VMOVE(cmin[0].v, min); + VMOVE(cmax[1].v, max); + VMOVE(cmin[1].v, min); #if 0 /* if (depth >= 26) */ @@ -718,8 +718,15 @@ bu_free(node_gd, __FUNCTION__); /* Push each child through the same process. */ - tie_kdtree_build(tie, &((struct tie_kdtree_s *)(node->data))[0], depth+1, cmin[0], cmax[0]); - tie_kdtree_build(tie, &((struct tie_kdtree_s *)(node->data))[1], depth+1, cmin[1], cmax[1]); + { + point_t lmin[2], lmax[2]; + VMOVE(lmin[0], cmin[0].v); + VMOVE(lmin[1], cmin[1].v); + VMOVE(lmax[0], cmax[0].v); + VMOVE(lmax[1], cmax[1].v); + tie_kdtree_build(tie, &((struct tie_kdtree_s *)(node->data))[0], depth+1, lmin[0], lmax[0]); + tie_kdtree_build(tie, &((struct tie_kdtree_s *)(node->data))[1], depth+1, lmin[1], lmax[1]); + } /* Assign the splitting dimension to the node */ /* If we've come this far then YES, this node DOES have child nodes, MARK it as so. */ @@ -772,9 +779,9 @@ * Compute Floating Fuzz Precision Value * For now, take largest dimension as basis for TIE_PREC */ - VMOVE(tie->amin, tie->min.v); - VMOVE(tie->amax, tie->max.v); - VSUB2(delta.v, tie->max.v, tie->min.v); + VMOVE(tie->amin, tie->min); + VMOVE(tie->amax, tie->max); + VSUB2(delta.v, tie->max, tie->min); MATH_MAX3(TIE_PREC, delta.v[0], delta.v[1], delta.v[2]); #if defined(TIE_PRECISION) && defined(TIE_PRECISION_SINGLE) && TIE_PRECISION == TIE_PRECISION_SINGLE TIE_PREC *= 0.000000001; @@ -784,8 +791,8 @@ /* Grow the head node to avoid floating point fuzz in the building process with edges */ VSCALE(delta.v, delta.v, 1.0); - VSUB2(tie->min.v, tie->min.v, delta.v); - VADD2(tie->max.v, tie->max.v, delta.v); + VSUB2(tie->min, tie->min, delta.v); + VADD2(tie->max, tie->max, delta.v); /* Compute Max Depth to allow the KD-Tree to grow to */ tie->max_depth = (int)(TIE_KDTREE_DEPTH_K1 * (log(tie->tri_num) / log(2)) + TIE_KDTREE_DEPTH_K2); Modified: brlcad/branches/cmake/src/librt/search.c =================================================================== --- brlcad/branches/cmake/src/librt/search.c 2011-03-05 00:43:53 UTC (rev 43716) +++ brlcad/branches/cmake/src/librt/search.c 2011-03-05 03:47:14 UTC (rev 43717) @@ -110,13 +110,17 @@ void db_free_full_path_list(struct db_full_path_list *path_list) { - struct db_full_path_list *currentpath; - while (BU_LIST_WHILE(currentpath, db_full_path_list, &(path_list->l))) { - db_free_full_path(currentpath->path); - BU_LIST_DEQUEUE((struct bu_list *)currentpath); - bu_free(currentpath, "free db_full_path_list entry"); - } - bu_free(path_list, "free path_list"); + struct db_full_path_list *currentpath; + if (path_list) { + if (!BU_LIST_IS_EMPTY(&(path_list->l))) { + while (BU_LIST_WHILE(currentpath, db_full_path_list, &(path_list->l))) { + db_free_full_path(currentpath->path); + BU_LIST_DEQUEUE((struct bu_list *)currentpath); + bu_free(currentpath, "free db_full_path_list entry"); + } + } + bu_free(path_list, "free path_list"); + } } @@ -1938,6 +1942,7 @@ struct db_plan_t *plan, *tail; struct db_plan_t *new = NULL; struct db_full_path_list *results = NULL; + db_search_isoutput = 0; /* * for each argument in the command line, determine what kind of node This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |