Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
ef1962f8
Commit
ef1962f8
authored
Mar 29, 2010
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GetFilenames: avoid use of vlc_optind global
parent
1d9170af
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
17 deletions
+19
-17
src/libvlc.c
src/libvlc.c
+19
-17
No files found.
src/libvlc.c
View file @
ef1962f8
...
@@ -204,7 +204,7 @@ void vlc_release (gc_object_t *p_gc)
...
@@ -204,7 +204,7 @@ void vlc_release (gc_object_t *p_gc)
( defined( HAVE_GETTEXT ) || defined( HAVE_INCLUDED_GETTEXT ) )
( defined( HAVE_GETTEXT ) || defined( HAVE_INCLUDED_GETTEXT ) )
static
void
SetLanguage
(
char
const
*
);
static
void
SetLanguage
(
char
const
*
);
#endif
#endif
static
int
GetFilenames
(
libvlc_int_t
*
,
int
,
const
char
*
[]
);
static
void
GetFilenames
(
libvlc_int_t
*
,
unsigned
,
const
char
*
const
[]
);
static
void
Help
(
libvlc_int_t
*
,
char
const
*
psz_help_name
);
static
void
Help
(
libvlc_int_t
*
,
char
const
*
psz_help_name
);
static
void
Usage
(
libvlc_int_t
*
,
char
const
*
psz_search
);
static
void
Usage
(
libvlc_int_t
*
,
char
const
*
psz_search
);
static
void
ListModules
(
libvlc_int_t
*
,
bool
);
static
void
ListModules
(
libvlc_int_t
*
,
bool
);
...
@@ -962,9 +962,12 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
...
@@ -962,9 +962,12 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
#endif
#endif
/*
/*
* Get input filenames given as commandline arguments
* Get input filenames given as commandline arguments.
* We assume that the remaining parameters are filenames
* and their input options.
*/
*/
GetFilenames
(
p_libvlc
,
i_argc
,
ppsz_argv
);
msg_Info
(
p_libvlc
,
"optind = %u"
,
vlc_optind
);
GetFilenames
(
p_libvlc
,
i_argc
-
vlc_optind
,
ppsz_argv
+
vlc_optind
);
/*
/*
* Get --open argument
* Get --open argument
...
@@ -1192,36 +1195,35 @@ static void SetLanguage ( const char *psz_lang )
...
@@ -1192,36 +1195,35 @@ static void SetLanguage ( const char *psz_lang )
* Parse command line for input files as well as their associated options.
* Parse command line for input files as well as their associated options.
* An option always follows its associated input and begins with a ":".
* An option always follows its associated input and begins with a ":".
*****************************************************************************/
*****************************************************************************/
static
int
GetFilenames
(
libvlc_int_t
*
p_vlc
,
int
i_argc
,
const
char
*
ppsz_argv
[]
)
static
void
GetFilenames
(
libvlc_int_t
*
p_vlc
,
unsigned
n
,
const
char
*
const
args
[]
)
{
{
int
i_opt
,
i_options
;
while
(
n
>
0
)
/* We assume that the remaining parameters are filenames
* and their input options */
for
(
i_opt
=
i_argc
-
1
;
i_opt
>=
vlc_optind
;
i_opt
--
)
{
{
i_options
=
0
;
/* Count the input options */
/* Count the input options */
while
(
*
ppsz_argv
[
i_opt
]
==
':'
&&
i_opt
>
vlc_optind
)
unsigned
i_options
=
0
;
while
(
args
[
--
n
][
0
]
==
':'
)
{
{
i_options
++
;
i_options
++
;
i_opt
--
;
if
(
n
==
0
)
{
msg_Warn
(
p_vlc
,
"options %s without item"
,
args
[
n
]
);
return
;
/* syntax!? */
}
}
}
/* TODO: write an internal function of this one, to avoid
/* TODO: write an internal function of this one, to avoid
* unnecessary lookups. */
* unnecessary lookups. */
char
*
mrl
=
make_URI
(
ppsz_argv
[
i_opt
]
);
char
*
mrl
=
make_URI
(
args
[
n
]
);
if
(
!
mrl
)
if
(
!
mrl
)
continue
;
continue
;
playlist_AddExt
(
pl_Get
(
p_vlc
),
mrl
,
NULL
,
PLAYLIST_INSERT
,
playlist_AddExt
(
pl_Get
(
p_vlc
),
mrl
,
NULL
,
PLAYLIST_INSERT
,
0
,
-
1
,
i_options
,
(
i_options
?
&
ppsz_argv
[
i_opt
+
1
]
:
NULL
),
0
,
-
1
,
i_options
,
(
i_options
?
&
args
[
n
+
1
]
:
NULL
),
VLC_INPUT_OPTION_TRUSTED
,
true
,
pl_Unlocked
);
VLC_INPUT_OPTION_TRUSTED
,
true
,
pl_Unlocked
);
free
(
mrl
);
free
(
mrl
);
}
}
return
VLC_SUCCESS
;
}
}
/*****************************************************************************
/*****************************************************************************
...
...
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