Revision: 78010
http://sourceforge.net/p/brlcad/code/78010
Author: starseeker
Date: 2020-12-18 22:12:44 +0000 (Fri, 18 Dec 2020)
Log Message:
-----------
First cut at deprecating bu_brlcad_root and bu_brlcad_dir. Needs more review
and testing, particularly the libtclcad wrappers that are having to be emulated.
Modified Paths:
--------------
brlcad/trunk/include/bu/app.h
brlcad/trunk/src/adrt/isst.c
brlcad/trunk/src/archer/archer.c
brlcad/trunk/src/brlman/brlman.c
brlcad/trunk/src/libbu/vfont.c
brlcad/trunk/src/libged/help/help.cpp
brlcad/trunk/src/libged/rt/rt.c
brlcad/trunk/src/libged/rtcheck/rtcheck.c
brlcad/trunk/src/libged/rtwizard/rtwizard.c
brlcad/trunk/src/libtclcad/bu.c
brlcad/trunk/src/mged/mged.c
brlcad/trunk/src/mged/plot.c
brlcad/trunk/src/nirt/main.cpp
brlcad/trunk/src/nirt/nirt.c
brlcad/trunk/src/rtwizard/main.c
brlcad/trunk/src/util/plot3-dm.c
Modified: brlcad/trunk/include/bu/app.h
===================================================================
--- brlcad/trunk/include/bu/app.h 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/include/bu/app.h 2020-12-18 22:12:44 UTC (rev 78010)
@@ -204,7 +204,7 @@
* call bu_strdup() or make other provisions to save the returned
* string, before calling again.
*/
-BU_EXPORT extern const char *bu_brlcad_dir(const char *dirkey, int
fail_quietly);
+DEPRECATED BU_EXPORT extern const char *bu_brlcad_dir(const char *dirkey, int
fail_quietly);
/**
* @brief
@@ -224,7 +224,7 @@
* call bu_strdup() or make other provisions to save the returned
* string, before calling again.
*/
-BU_EXPORT extern const char *bu_brlcad_root(const char *rhs, int fail_quietly);
+DEPRECATED BU_EXPORT extern const char *bu_brlcad_root(const char *rhs, int
fail_quietly);
typedef enum {
Modified: brlcad/trunk/src/adrt/isst.c
===================================================================
--- brlcad/trunk/src/adrt/isst.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/adrt/isst.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -653,8 +653,8 @@
argv++; argc--;
tclcad_set_argv(interp, argc, argv);
- isst_tcl = bu_brlcad_root("share/tclscripts/isst/isst.tcl", 1);
Tcl_DStringInit(&temp);
+ isst_tcl = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "isst", "isst.tcl",
NULL);
fullname = Tcl_TranslateFileName(interp, isst_tcl, &temp);
status = Tcl_EvalFile(interp, fullname);
Tcl_DStringFree(&temp);
Modified: brlcad/trunk/src/archer/archer.c
===================================================================
--- brlcad/trunk/src/archer/archer.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/archer/archer.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -95,7 +95,7 @@
}
bu_vls_free(&tlog);
- archer_tcl = bu_brlcad_root("share/tclscripts/archer/archer_launch.tcl",
1);
+ archer_tcl = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "archer",
"archer_launch.tcl", NULL);
Tcl_DStringInit(&temp);
fullname = Tcl_TranslateFileName(interp, archer_tcl, &temp);
status = Tcl_EvalFile(interp, fullname);
Modified: brlcad/trunk/src/brlman/brlman.c
===================================================================
--- brlcad/trunk/src/brlman/brlman.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/brlman/brlman.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -421,11 +421,11 @@
(void)Tcl_Eval(interp, bu_vls_addr(&tcl_cmd));
} else {
- bu_vls_sprintf(&tcl_cmd, "set ::data_dir %s/html",
bu_brlcad_dir("doc", 1));
+ bu_vls_sprintf(&tcl_cmd, "set ::data_dir %s/html", bu_dir(NULL, 0,
BU_DIR_DOC, NULL));
(void)Tcl_Eval(interp, bu_vls_addr(&tcl_cmd));
}
- brlman_tcl = bu_brlcad_root("share/tclscripts/brlman/brlman.tcl", 1);
+ brlman_tcl = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "brlman",
"brlman.tcl", NULL);
Tcl_DStringInit(&temp);
fullname = Tcl_TranslateFileName(interp, brlman_tcl, &temp);
status = Tcl_EvalFile(interp, fullname);
Modified: brlcad/trunk/src/libbu/vfont.c
===================================================================
--- brlcad/trunk/src/libbu/vfont.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/libbu/vfont.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -49,7 +49,7 @@
if (fontname[0] != '/') {
/* absolute path */
- const char *vfont = bu_brlcad_root("share/vfont", 1);
+ const char *vfont = bu_dir(NULL, 0, BU_DIR_DATA, "vfont", NULL);
if (vfont)
snprintf(fname, FONTNAMESZ, "%s/%s", vfont, fontname);
else
@@ -138,7 +138,7 @@
/* Open the file and read in the header information. */
if ((fp = fopen(const_font, "rb")) == NULL) {
- snprintf(fname, FONTNAMESZ, "%s/%s", (char
*)bu_brlcad_root("share/vfont", 0), const_font);
+ snprintf(fname, FONTNAMESZ, "%s/%s", bu_dir(NULL, 0, BU_DIR_DATA,
"vfont", NULL), const_font);
if ((fp = fopen(fname, "rb")) == NULL) {
snprintf(fname, FONTNAMESZ, "%s/%s", FONTDIR2, const_font);
if ((fp = fopen(fname, "rb")) == NULL) {
Modified: brlcad/trunk/src/libged/help/help.cpp
===================================================================
--- brlcad/trunk/src/libged/help/help.cpp 2020-12-18 21:33:39 UTC (rev
78009)
+++ brlcad/trunk/src/libged/help/help.cpp 2020-12-18 22:12:44 UTC (rev
78010)
@@ -249,7 +249,7 @@
return -1;
/* get our doc dir */
- dir = bu_strdup(bu_brlcad_dir("doc", 0));
+ dir = bu_strdup(bu_dir(NULL, 0, BU_DIR_DOC, NULL));
/* get recursive list of documentation files */
count = help_files(dir, &entries);
Modified: brlcad/trunk/src/libged/rt/rt.c
===================================================================
--- brlcad/trunk/src/libged/rt/rt.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/libged/rt/rt.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -65,7 +65,7 @@
args = argc + 7 + 2 + ged_who_argc(gedp);
gd_rt_cmd = (char **)bu_calloc(args, sizeof(char *), "alloc gd_rt_cmd");
- bin = bu_brlcad_root("bin", 1);
+ bin = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
if (bin) {
snprintf(rt, 256, "%s/%s", bin, argv[0]);
}
Modified: brlcad/trunk/src/libged/rtcheck/rtcheck.c
===================================================================
--- brlcad/trunk/src/libged/rtcheck/rtcheck.c 2020-12-18 21:33:39 UTC (rev
78009)
+++ brlcad/trunk/src/libged/rtcheck/rtcheck.c 2020-12-18 22:12:44 UTC (rev
78010)
@@ -199,7 +199,7 @@
/* initialize result */
bu_vls_trunc(gedp->ged_result_str, 0);
- bin = bu_brlcad_root("bin", 1);
+ bin = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
if (bin) {
snprintf(rtcheck, 256, "%s/%s", bin, argv[0]);
}
Modified: brlcad/trunk/src/libged/rtwizard/rtwizard.c
===================================================================
--- brlcad/trunk/src/libged/rtwizard/rtwizard.c 2020-12-18 21:33:39 UTC (rev
78009)
+++ brlcad/trunk/src/libged/rtwizard/rtwizard.c 2020-12-18 22:12:44 UTC (rev
78010)
@@ -111,7 +111,7 @@
gd_rt_cmd = (char **)bu_calloc(args, sizeof(char *), "alloc gd_rt_cmd");
- bin = bu_brlcad_root("bin", 1);
+ bin = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
if (bin) {
snprintf(rtscript, 256, "%s/rtwizard", bin);
} else {
Modified: brlcad/trunk/src/libtclcad/bu.c
===================================================================
--- brlcad/trunk/src/libtclcad/bu.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/libtclcad/bu.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -391,8 +391,37 @@
bu_log("Usage: bu_brlcad_dir dirkey\n");
return BRLCAD_ERROR;
}
- Tcl_AppendResult(interp, bu_brlcad_dir(argv[1], 1), NULL);
- return BRLCAD_OK;
+ if (BU_STR_EQUAL(argv[1], "bin")) {
+ Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_BIN, NULL), NULL);
+ return BRLCAD_OK;
+ }
+ if (BU_STR_EQUAL(argv[1], "lib")) {
+ Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_LIB, NULL), NULL);
+ return BRLCAD_OK;
+ }
+ if (BU_STR_EQUAL(argv[1], "include")) {
+ Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_INCLUDE, NULL), NULL);
+ return BRLCAD_OK;
+ }
+ if (BU_STR_EQUAL(argv[1], "data")) {
+ Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_DATA, NULL), NULL);
+ return BRLCAD_OK;
+ }
+ if (BU_STR_EQUAL(argv[1], "share")) {
+ Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_DATA, NULL), NULL);
+ return BRLCAD_OK;
+ }
+ if (BU_STR_EQUAL(argv[1], "doc")) {
+ Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_DOC, NULL), NULL);
+ return BRLCAD_OK;
+ }
+
+ if (BU_STR_EQUAL(argv[1], "man")) {
+ Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_MAN, NULL), NULL);
+ return BRLCAD_OK;
+ }
+
+ return BRLCAD_ERROR;
}
/**
@@ -414,7 +443,19 @@
bu_log("Usage: bu_brlcad_root subdir\n");
return BRLCAD_ERROR;
}
- Tcl_AppendResult(interp, bu_brlcad_root(argv[1], 1), NULL);
+ if (argv[1][0] == '/') {
+ Tcl_AppendResult(interp, argv[1], NULL);
+ return BRLCAD_OK;
+ }
+ const char *bdir = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
+ struct bu_vls wpath = BU_VLS_INIT_ZERO;
+ if (!bu_path_component(&wpath, bdir, BU_PATH_DIRNAME)) {
+ bu_vls_free(&wpath);
+ return BRLCAD_ERROR;
+ }
+ const char *npath = bu_dir(NULL, 0, bu_vls_cstr(&wpath), argv[1], NULL);
+ Tcl_AppendResult(interp, npath, NULL);
+ bu_vls_free(&wpath);
return BRLCAD_OK;
}
Modified: brlcad/trunk/src/mged/mged.c
===================================================================
--- brlcad/trunk/src/mged/mged.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/mged/mged.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -1474,9 +1474,9 @@
status = Tcl_Eval(INTERP, bu_vls_addr(&vls));
} else {
Tcl_DString temp;
- const char *archer =
bu_brlcad_root("share/tclscripts/archer/archer_launch.tcl", 1);
const char *archer_trans;
Tcl_DStringInit(&temp);
+ const char *archer = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts",
"archer", "archer_launch.tcl", NULL);
archer_trans = Tcl_TranslateFileName(INTERP, archer, &temp);
tclcad_set_argv(INTERP, argc, (const char **)argv);
status = Tcl_EvalFile(INTERP, archer_trans);
Modified: brlcad/trunk/src/mged/plot.c
===================================================================
--- brlcad/trunk/src/mged/plot.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/mged/plot.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -151,7 +151,7 @@
}
if ((pid1 = fork()) == 0) {
- const char *cad_boundp = bu_brlcad_root("bin/cad_boundp", 1);
+ const char *cad_boundp = bu_dir(NULL, 0, BU_DIR_BIN, "cad_boundp",
BU_DIR_EXT, NULL);
dup2(fd1[0], fileno(stdin));
dup2(fd2[1], fileno(stdout));
@@ -167,7 +167,7 @@
}
if ((pid2 = fork()) == 0) {
- const char *cad_parea = bu_brlcad_root("bin/cad_parea", 1);
+ const char *cad_parea = bu_dir(NULL, 0, BU_DIR_BIN, "cad_parea",
BU_DIR_EXT, NULL);
dup2(fd2[0], fileno(stdin));
dup2(fd3[1], fileno(stdout));
Modified: brlcad/trunk/src/nirt/main.cpp
===================================================================
--- brlcad/trunk/src/nirt/main.cpp 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/nirt/main.cpp 2020-12-18 22:12:44 UTC (rev 78010)
@@ -151,7 +151,7 @@
struct bu_vls fl = BU_VLS_INIT_ZERO;
/* get a nirt directory listing */
- bu_vls_printf(&nfp, "%s", bu_brlcad_root("share/nirt", 0));
+ bu_vls_printf(&nfp, "%s", bu_dir(NULL, 0, BU_DIR_DATA, "nirt", NULL));
files = bu_file_list(bu_vls_addr(&nfp), suffix, &filearray);
if (names)
*names = filearray;
@@ -233,7 +233,7 @@
if (!file.is_open()) {
struct bu_vls str = BU_VLS_INIT_ZERO;
- bu_vls_printf(&str, "%s/%s.nrt", bu_brlcad_root("share/nirt", 0),
argv[0]);
+ bu_vls_printf(&str, "%s/%s.nrt", bu_dir(NULL, 0, BU_DIR_DATA, "nirt",
NULL), argv[0]);
file.open(bu_vls_addr(&str));
bu_vls_free(&str);
@@ -644,7 +644,7 @@
bu_vls_printf(&launch_cmd, "%s", argv[argc-1]);
}
- /* Let bu_brlcad_root and friends know where we are */
+ /* Let libbu know where we are */
bu_setprogname(argv[0]);
argv++; argc--;
Modified: brlcad/trunk/src/nirt/nirt.c
===================================================================
--- brlcad/trunk/src/nirt/nirt.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/nirt/nirt.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -144,7 +144,7 @@
struct bu_vls vlsfileline = BU_VLS_INIT_ZERO;
/* get a nirt directory listing */
- bu_vls_printf(&nirtfilespath, "%s", bu_brlcad_root("share/nirt", 0));
+ bu_vls_printf(&nirtfilespath, "%s", bu_dir(NULL, 0, BU_DIR_DATA, "nirt",
NULL));
files = bu_file_list(bu_vls_addr(&nirtfilespath), suffix, &filearray);
if (names)
*names = filearray;
@@ -258,7 +258,7 @@
cfPtr = fopen(bu_vls_addr(&str), "rb");
if (cfPtr == NULL) {
bu_vls_trunc(&str, 0);
- bu_vls_printf(&str, "%s/%s.nrt", bu_brlcad_root("share/nirt", 0),
string);
+ bu_vls_printf(&str, "%s/%s.nrt", bu_dir(NULL, 0, BU_DIR_DATA,
"nirt", NULL), string);
cfPtr = fopen(bu_vls_addr(&str), "rb");
if (cfPtr != NULL) {
fclose(cfPtr);
Modified: brlcad/trunk/src/rtwizard/main.c
===================================================================
--- brlcad/trunk/src/rtwizard/main.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/rtwizard/main.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -1136,7 +1136,7 @@
/* We're using this path on the file system, not in Tcl: translate it
* to the appropriate form before doing the eval */
Tcl_DStringInit(&temp);
- rtwizard = bu_brlcad_root("share/tclscripts/rtwizard/rtwizard", 1);
+ rtwizard = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "rtwizard",
"rtwizard", NULL);
fullname = Tcl_TranslateFileName(interp, rtwizard, &temp);
status = Tcl_EvalFile(interp, fullname);
Tcl_DStringFree(&temp);
Modified: brlcad/trunk/src/util/plot3-dm.c
===================================================================
--- brlcad/trunk/src/util/plot3-dm.c 2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/util/plot3-dm.c 2020-12-18 22:12:44 UTC (rev 78010)
@@ -1116,7 +1116,7 @@
bu_exit (1, "appInit: Failed to get main window.\n");
/* Locate the BRL-CAD-specific Tcl scripts */
- filename = bu_brlcad_root("share/tclscripts", 0);
+ filename = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", NULL);
bu_vls_printf(&str2, "%s/plot3-dm", filename);
bu_vls_printf(&str, "wm withdraw .; set auto_path [linsert $auto_path 0 %s
%s]",
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