case insensitive ".dll" for VST plugins - fixes #6285
TODO: check portability of strcasestr()
This commit is contained in:
parent
27dac7c31f
commit
c2f84af73d
@ -686,8 +686,7 @@ 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 && str.find (".dll") == (str.length() - 4));
|
||||
return str[0] != '.' && str.length() > 4 && strings_equal_ignore_case (".dll", str.substr(str.length() - 4));
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -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 && strstr(dllpath, ".dll") == 0) {
|
||||
if (strstr (dllpath, ".so" ) == 0 && strcasestr(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 && strstr(dllpath, ".dll") == 0) {
|
||||
if (strstr (dllpath, ".so" ) == 0 && strcasestr(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 && strstr(dllpath, ".dll") == 0) {
|
||||
if (strstr (dllpath, ".so" ) == 0 && strcasestr(dllpath, ".dll") == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -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" ) || strstr(dllpath, ".dll")) {
|
||||
if (strstr (dllpath, ".so" ) || strcasestr(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 (strstr (dllpath, ".dll")) {
|
||||
else if (strcasestr (dllpath, ".dll")) {
|
||||
infos = vstfx_get_info_fst(dllpath);
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user