68 lines
1.9 KiB
Diff
68 lines
1.9 KiB
Diff
|
From: Dave Plater <davejplater@gmail.com>
|
||
|
Date: 2007-11-06 12:48:06 +0200
|
||
|
Subject: Find plugins
|
||
|
References:
|
||
|
Upstream: email
|
||
|
|
||
|
Allow binary listplugins to find plugins without LADSPA_PATH set.
|
||
|
Index: src/search.c
|
||
|
===================================================================
|
||
|
--- src/search.c.orig 2007-11-06 12:48:06.000000000 +0200
|
||
|
+++ src/search.c 2017-11-04 09:00:29.169621959 +0200
|
||
|
@@ -23,7 +23,7 @@
|
||
|
/* Search just the one directory. */
|
||
|
static void
|
||
|
LADSPADirectoryPluginSearch
|
||
|
-(const char * pcDirectory,
|
||
|
+(const char * pcDirectory,
|
||
|
LADSPAPluginSearchCallbackFunction fCallbackFunction) {
|
||
|
|
||
|
char * pcFilename;
|
||
|
@@ -61,7 +61,7 @@ LADSPADirectoryPluginSearch
|
||
|
if (iNeedSlash)
|
||
|
strcat(pcFilename, "/");
|
||
|
strcat(pcFilename, psDirectoryEntry->d_name);
|
||
|
-
|
||
|
+
|
||
|
pvPluginHandle = dlopen(pcFilename, RTLD_LAZY);
|
||
|
if (pvPluginHandle) {
|
||
|
/* This is a file and the file is a shared library! */
|
||
|
@@ -89,7 +89,7 @@ LADSPADirectoryPluginSearch
|
||
|
|
||
|
/*****************************************************************************/
|
||
|
|
||
|
-void
|
||
|
+void
|
||
|
LADSPAPluginSearch(LADSPAPluginSearchCallbackFunction fCallbackFunction) {
|
||
|
|
||
|
char * pcBuffer;
|
||
|
@@ -99,23 +99,24 @@ LADSPAPluginSearch(LADSPAPluginSearchCal
|
||
|
|
||
|
pcLADSPAPath = getenv("LADSPA_PATH");
|
||
|
if (!pcLADSPAPath) {
|
||
|
+ pcLADSPAPath = "/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa";
|
||
|
fprintf(stderr,
|
||
|
"Warning: You do not have a LADSPA_PATH "
|
||
|
"environment variable set.\n");
|
||
|
- return;
|
||
|
+ //return;
|
||
|
}
|
||
|
-
|
||
|
+
|
||
|
pcStart = pcLADSPAPath;
|
||
|
while (*pcStart != '\0') {
|
||
|
pcEnd = pcStart;
|
||
|
while (*pcEnd != ':' && *pcEnd != '\0')
|
||
|
pcEnd++;
|
||
|
-
|
||
|
+
|
||
|
pcBuffer = malloc(1 + pcEnd - pcStart);
|
||
|
if (pcEnd > pcStart)
|
||
|
strncpy(pcBuffer, pcStart, pcEnd - pcStart);
|
||
|
pcBuffer[pcEnd - pcStart] = '\0';
|
||
|
-
|
||
|
+
|
||
|
LADSPADirectoryPluginSearch(pcBuffer, fCallbackFunction);
|
||
|
free(pcBuffer);
|
||
|
|