Revision: 75527
http://sourceforge.net/p/brlcad/code/75527
Author: starseeker
Date: 2020-04-22 13:59:24 +0000 (Wed, 22 Apr 2020)
Log Message:
-----------
Make the dm lookup case insensitive
Modified Paths:
--------------
brlcad/branches/dm-fb-merge/src/libdm/dm_init.cpp
brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp
brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c
Modified: brlcad/branches/dm-fb-merge/src/libdm/dm_init.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/dm_init.cpp 2020-04-22 13:29:12 UTC
(rev 75526)
+++ brlcad/branches/dm-fb-merge/src/libdm/dm_init.cpp 2020-04-22 13:59:24 UTC
(rev 75527)
@@ -33,6 +33,7 @@
#include "bu/file.h"
#include "bu/vls.h"
+#include <algorithm>
#include <map>
#include <set>
#include <string>
@@ -105,6 +106,7 @@
const struct dm *d = plugin->p;
const char *dname = dm_get_name(d);
std::string key(dname);
+ std::transform(key.begin(), key.end(), key.begin(), [](unsigned
char c){ return std::tolower(c); });
if (dm_map.find(key) != dm_map.end()) {
bu_vls_printf(dm_init_msg_str, "Warning - file '%s' provides
backend '%s' but that backend has already been loaded, skipping\n", pfile,
dname);
bu_dlclose(dl_handle);
Modified: brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp 2020-04-22
13:29:12 UTC (rev 75526)
+++ brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp 2020-04-22
13:59:24 UTC (rev 75527)
@@ -1,6 +1,9 @@
#include "common.h"
-#include <string.h>
+#include <algorithm>
+#include <map>
+#include <string>
+
#include "bu/app.h"
#include "bu/dylib.h"
#include "bu/file.h"
@@ -21,7 +24,9 @@
return dm_null.i->dm_open(interp, argc, argv);
}
std::map<std::string, const struct dm *> *dmb = (std::map<std::string,
const struct dm *> *)dm_backends;
- std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(std::string(type));
+ std::string key(type);
+ std::transform(key.begin(), key.end(), key.begin(), [](unsigned char c){
return std::tolower(c); });
+ std::map<std::string, const struct dm *>::iterator d_it = dmb->find(key);
if (d_it == dmb->end()) {
return DM_NULL;
}
@@ -72,7 +77,9 @@
int i = 0;
const char *b = priority_list[i];
while (!BU_STR_EQUAL(b, "nu")) {
- std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(std::string(b));
+ std::string key(b);
+ std::transform(key.begin(), key.end(), key.begin(), [](unsigned char
c){ return std::tolower(c); });
+ std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(key);
if (d_it == dmb->end()) {
i++;
b = priority_list[i];
@@ -98,7 +105,9 @@
return 1;
}
std::map<std::string, const struct dm *> *dmb = (std::map<std::string,
const struct dm *> *)dm_backends;
- std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(std::string(name));
+ std::string key(name);
+ std::transform(key.begin(), key.end(), key.begin(), [](unsigned char c){
return std::tolower(c); });
+ std::map<std::string, const struct dm *>::iterator d_it = dmb->find(key);
if (d_it == dmb->end()) {
return 0;
}
@@ -130,7 +139,9 @@
int i = 0;
const char *b = priority_list[i];
while (!BU_STR_EQUAL(b, "nu")) {
- std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(std::string(b));
+ std::string key(b);
+ std::transform(key.begin(), key.end(), key.begin(), [](unsigned char
c){ return std::tolower(c); });
+ std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(key);
if (d_it == dmb->end()) {
i++;
b = priority_list[i];
@@ -164,7 +175,9 @@
int i = 0;
const char *b = priority_list[i];
while (!BU_STR_EQUAL(b, "nu")) {
- std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(std::string(b));
+ std::string key(b);
+ std::transform(key.begin(), key.end(), key.begin(), [](unsigned char
c){ return std::tolower(c); });
+ std::map<std::string, const struct dm *>::iterator d_it =
dmb->find(key);
if (d_it == dmb->end()) {
i++;
b = priority_list[i];
Modified: brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c 2020-04-22 13:29:12 UTC
(rev 75526)
+++ brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c 2020-04-22 13:59:24 UTC
(rev 75527)
@@ -1164,7 +1164,7 @@
0, /* no stereo */
PLOTBOUND, /* zoom-in limit */
1, /* bound flag */
- "tk",
+ "Tk",
"Tcl/Tk Abstraction Layer",
1,
0,
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