Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
03119836
Commit
03119836
authored
Apr 14, 2008
by
Jérôme Decoodt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix plugins/modules path list on Win32
parent
cbf0750a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
38 deletions
+38
-38
src/modules/modules.c
src/modules/modules.c
+38
-38
No files found.
src/modules/modules.c
View file @
03119836
...
...
@@ -84,6 +84,7 @@
#include "config/configuration.h"
#include "vlc_charset.h"
#include "vlc_arrays.h"
#include "modules/modules.h"
#include "modules/builtin.h"
...
...
@@ -901,59 +902,57 @@ static char * copy_next_paths_token( char * paths, char ** remaining_paths )
#ifdef HAVE_DYNAMIC_PLUGINS
static
void
AllocateAllPlugins
(
vlc_object_t
*
p_this
)
{
char
*
paths
,
*
path
,
*
paths_iter
;
char
*
extra_path
;
int
count
,
i
;
char
*
path
;
vlc_array_t
*
arraypaths
=
vlc_array_new
();
/* Contruct the special search path for system that have a relocatable
* executable. Set it to <vlc path>/modules and <vlc path>/plugins. */
#if defined( WIN32 ) || defined( UNDER_CE ) || defined( __APPLE__ ) || defined( SYS_BEOS )
if
(
asprintf
(
&
extra_path
,
"%s"
DIR_SEP
"modules"
PATH_SEP
"%s"
DIR_SEP
"plugins"
"%s"
,
vlc_global
()
->
psz_vlcpath
,
vlc_global
()
->
psz_vlcpath
,
# if defined( WIN32 ) || defined( UNDER_CE )
""
)
<
0
)
# else
PATH_SEP
PLUGIN_PATH
)
<
0
)
# endif
{
msg_Err
(
p_this
,
"Not enough memory"
);
return
;
#define RETURN_ENOMEM \
{ \
msg_Err( p_this, "Not enough memory" ); \
return; \
}
vlc_array_append
(
arraypaths
,
strdup
(
"modules"
)
);
#if defined( WIN32 ) || defined( UNDER_CE ) || defined( __APPLE__ ) || defined( SYS_BEOS )
if
(
asprintf
(
&
path
,
"%s"
DIR_SEP
"modules"
,
vlc_global
()
->
psz_vlcpath
)
<
0
)
RETURN_ENOMEM
vlc_array_append
(
arraypaths
,
path
);
if
(
asprintf
(
&
path
,
"%s"
DIR_SEP
"plugins"
,
vlc_global
()
->
psz_vlcpath
)
<
0
)
RETURN_ENOMEM
vlc_array_append
(
arraypaths
,
path
);
#if ! defined( WIN32 ) && ! defined( UNDER_CE )
if
(
asprintf
(
&
path
,
"%s"
,
PLUGIN_PATH
)
<
0
)
RETURN_ENOMEM
vlc_array_append
(
arraypaths
,
path
);
#endif
#else
extra_path
=
strdup
(
PLUGIN_PATH
);
vlc_array_append
(
arraypaths
,
strdup
(
PLUGIN_PATH
)
);
#endif
vlc_array_append
(
arraypaths
,
strdup
(
"plugins"
)
);
/* If the user provided a plugin path, we add it to the list */
char
*
userpaths
=
config_GetPsz
(
p_this
,
"plugin-path"
);
char
*
paths_iter
;
if
(
asprintf
(
&
paths
,
"modules"
PATH_SEP
"%s"
PATH_SEP
"plugins%s%s"
,
extra_path
,
userpaths
?
PATH_SEP
:
""
,
userpaths
?
userpaths
:
""
)
<
0
)
for
(
paths_iter
=
userpaths
;
paths_iter
;
)
{
msg_Err
(
p_this
,
"Not enough memory"
);
free
(
userpaths
);
free
(
extra_path
);
return
;
path
=
copy_next_paths_token
(
paths_iter
,
&
paths_iter
);
if
(
!
path
)
RETURN_ENOMEM
vlc_array_append
(
arraypaths
,
strdup
(
path
)
)
;
}
/* Free plugin-path and extra path */
free
(
userpaths
);
free
(
extra_path
);
msg_Dbg
(
p_this
,
"We will be looking for modules in `%s'"
,
paths
);
for
(
paths_iter
=
paths
;
paths_iter
;
)
count
=
vlc_array_count
(
arraypaths
);
for
(
i
=
0
;
i
<
count
;
i
++
)
{
path
=
copy_next_paths_token
(
paths_iter
,
&
paths_iter
);
path
=
vlc_array_item_at_index
(
arraypaths
,
i
);
if
(
!
path
)
{
msg_Err
(
p_this
,
"Not enough memory"
);
return
;
continue
;
}
msg_Dbg
(
p_this
,
"recursively browsing `%s'"
,
path
);
...
...
@@ -964,7 +963,8 @@ static void AllocateAllPlugins( vlc_object_t *p_this )
free
(
path
);
}
free
(
paths
);
vlc_array_destroy
(
arraypaths
);
#undef RETURN_ENOMEM
}
/*****************************************************************************
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment