summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-04-27 00:40:07 +0200
committerRobin Gareus <robin@gareus.org>2015-04-27 00:40:07 +0200
commit3f2306c4fbecf4ca321a6f32ce7cef8f8b2fc61c (patch)
tree46bc2fd570f3868c910974188ee182f6be32fce3
parentc2f84af73d4812a7099ba1339ae92f2cd0536eae (diff)
Revert "case insensitive ".dll" for VST plugins - fixes #6285"
This reverts commit c2f84af73d4812a7099ba1339ae92f2cd0536eae. strcasestr() is not compatible with mingw nor MSVC. different approach is needed.
-rw-r--r--libs/ardour/plugin_manager.cc3
-rw-r--r--libs/ardour/vst_info_file.cc6
-rw-r--r--libs/fst/scanner.cc4
3 files changed, 7 insertions, 6 deletions
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc
index 37eb61ef3b..e88541317c 100644
--- a/libs/ardour/plugin_manager.cc
+++ b/libs/ardour/plugin_manager.cc
@@ -686,7 +686,8 @@ PluginManager::windows_vst_refresh (bool cache_only)
static bool windows_vst_filter (const string& str, void * /*arg*/)
{
/* Not a dotfile, has a prefix before a period, suffix is "dll" */
- return str[0] != '.' && str.length() > 4 && strings_equal_ignore_case (".dll", str.substr(str.length() - 4));
+
+ return str[0] != '.' && (str.length() > 4 && str.find (".dll") == (str.length() - 4));
}
int
diff --git a/libs/ardour/vst_info_file.cc b/libs/ardour/vst_info_file.cc
index 2b79f2bc77..2d68421103 100644
--- a/libs/ardour/vst_info_file.cc
+++ b/libs/ardour/vst_info_file.cc
@@ -351,7 +351,7 @@ vstfx_write_info_file (FILE* fp, vector<VSTInfo *> *infos)
static bool
vstfx_blacklist_stat (const char *dllpath, int personal)
{
- if (strstr (dllpath, ".so" ) == 0 && strcasestr(dllpath, ".dll") == 0) {
+ if (strstr (dllpath, ".so" ) == 0 && strstr(dllpath, ".dll") == 0) {
return true;
}
string const path = vstfx_blacklist_path (dllpath, personal);
@@ -435,7 +435,7 @@ vstfx_remove_infofile (const char *dllpath)
static char *
vstfx_infofile_stat (const char *dllpath, struct stat* statbuf, int personal)
{
- if (strstr (dllpath, ".so" ) == 0 && strcasestr(dllpath, ".dll") == 0) {
+ if (strstr (dllpath, ".so" ) == 0 && strstr(dllpath, ".dll") == 0) {
return 0;
}
@@ -494,7 +494,7 @@ vstfx_infofile_for_read (const char* dllpath)
static FILE *
vstfx_infofile_create (const char* dllpath, int personal)
{
- if (strstr (dllpath, ".so" ) == 0 && strcasestr(dllpath, ".dll") == 0) {
+ if (strstr (dllpath, ".so" ) == 0 && strstr(dllpath, ".dll") == 0) {
return 0;
}
diff --git a/libs/fst/scanner.cc b/libs/fst/scanner.cc
index aac1eb5d2a..c7cbd897db 100644
--- a/libs/fst/scanner.cc
+++ b/libs/fst/scanner.cc
@@ -75,7 +75,7 @@ int main (int argc, char **argv) {
char *dllpath = NULL;
if (argc == 3 && !strcmp("-f", argv[1])) {
dllpath = argv[2];
- if (strstr (dllpath, ".so" ) || strcasestr(dllpath, ".dll")) {
+ if (strstr (dllpath, ".so" ) || strstr(dllpath, ".dll")) {
vstfx_remove_infofile(dllpath);
vstfx_un_blacklist(dllpath);
}
@@ -105,7 +105,7 @@ int main (int argc, char **argv) {
#endif
#ifdef WINDOWS_VST_SUPPORT
- else if (strcasestr (dllpath, ".dll")) {
+ else if (strstr (dllpath, ".dll")) {
infos = vstfx_get_info_fst(dllpath);
}
#endif