Revision: 76823
http://sourceforge.net/p/brlcad/code/76823
Author: starseeker
Date: 2020-08-18 11:07:46 +0000 (Tue, 18 Aug 2020)
Log Message:
-----------
Rather than bu_log at the library level, let the calling code decide what to do
about validating argv[0] with the information returned by the GED_UNKNOWN flag
and argv[0] value itself.
Modified Paths:
--------------
brlcad/trunk/src/libged/exec_mapping.cpp
brlcad/trunk/src/libged/tests/plugins.cpp
Modified: brlcad/trunk/src/libged/exec_mapping.cpp
===================================================================
--- brlcad/trunk/src/libged/exec_mapping.cpp 2020-08-18 10:57:01 UTC (rev
76822)
+++ brlcad/trunk/src/libged/exec_mapping.cpp 2020-08-18 11:07:46 UTC (rev
76823)
@@ -38,7 +38,6 @@
const char *fname = #x ; \
int vret = ged_cmd_valid(argv[0], fname); \
if (vret) { \
- bu_log("Warning(%d): LIBGED command \"ged_" #x "\" called with
argv[0] value \"%s\" which is not a known version of this command - overriding
argv[0] with \"%s\"\n", vret, argv[0], fname); \
argv[0] = fname; \
}\
int ret = ged_exec(gedp, argc, argv); \
Modified: brlcad/trunk/src/libged/tests/plugins.cpp
===================================================================
--- brlcad/trunk/src/libged/tests/plugins.cpp 2020-08-18 10:57:01 UTC (rev
76822)
+++ brlcad/trunk/src/libged/tests/plugins.cpp 2020-08-18 11:07:46 UTC (rev
76823)
@@ -368,11 +368,19 @@
/* Deliberately call a ged function with invalid argv[0] */
{
const char *wav0 = "wrong_name";
- int ret = ged_ls(gbp, 1, &wav0);
- if (ret & GED_UNKNOWN) {
+ const char *wav[2];
+ wav[0] = wav0;
+ wav[1] = NULL;
+ int ret = ged_ls(gbp, 1, (const char **)wav);
+ if (ret & GED_UNKNOWN && wav[0] != wav0) {
bu_log("\nged_ls called with command name \"%s\" correctly returned
with GED_UNKNOWN set\n", wav0);
} else {
- bu_log("\nged_ls called with command name \"%s\" did not return
with GED_UNKNOWN set\n", wav0);
+ if (!(ret & GED_UNKNOWN)) {
+ bu_log("\nged_ls called with command name \"%s\" did not return
with GED_UNKNOWN set\n", wav0);
+ }
+ if (wav[0] == wav0) {
+ bu_log("\nged_ls called with command name \"%s\" did not
override wav[0]\n", wav0);
+ }
}
}
@@ -380,11 +388,19 @@
* command, just not one matching the function) */
{
const char *wav1 = "search";
- int ret = ged_ls(gbp, 1, &wav1);
- if (ret & GED_UNKNOWN) {
- bu_log("\nged_ls called with command name \"%s\" reported expected
error\n", wav1);
+ const char *wav[2];
+ wav[0] = wav1;
+ wav[1] = NULL;
+ int ret = ged_ls(gbp, 1, (const char **)wav);
+ if (ret & GED_UNKNOWN && wav[0] != wav1) {
+ bu_log("\nged_ls called with command name \"%s\" correctly returned
with GED_UNKNOWN set\n", wav1);
} else {
- bu_log("\nged_ls called with command name \"%s\" did not report the
expected error\n", wav1);
+ if (!(ret & GED_UNKNOWN)) {
+ bu_log("\nged_ls called with command name \"%s\" did not return
with GED_UNKNOWN set\n", wav1);
+ }
+ if (wav[0] == wav1) {
+ bu_log("\nged_ls called with command name \"%s\" did not
override wav[0]\n", wav1);
+ }
}
}
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