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
40ec6172
Commit
40ec6172
authored
Aug 15, 2012
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
config_GetIntChoices: function to retrieve config item choices (integer)
parent
dd7d05eb
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
1 deletion
+49
-1
include/vlc_configuration.h
include/vlc_configuration.h
+2
-0
src/config/core.c
src/config/core.c
+46
-1
src/libvlccore.sym
src/libvlccore.sym
+1
-0
No files found.
include/vlc_configuration.h
View file @
40ec6172
...
...
@@ -96,6 +96,8 @@ VLC_API float config_GetFloat(vlc_object_t *, const char *) VLC_USED;
VLC_API
void
config_PutFloat
(
vlc_object_t
*
,
const
char
*
,
float
);
VLC_API
char
*
config_GetPsz
(
vlc_object_t
*
,
const
char
*
)
VLC_USED
VLC_MALLOC
;
VLC_API
void
config_PutPsz
(
vlc_object_t
*
,
const
char
*
,
const
char
*
);
VLC_API
ssize_t
config_GetIntChoices
(
vlc_object_t
*
,
const
char
*
,
int64_t
**
,
char
***
)
VLC_USED
;
VLC_API
ssize_t
config_GetPszChoices
(
vlc_object_t
*
,
const
char
*
,
char
***
,
char
***
)
VLC_USED
;
...
...
src/config/core.c
View file @
40ec6172
...
...
@@ -331,7 +331,52 @@ void config_PutFloat( vlc_object_t *p_this,
}
/**
* Determines a list of suggested values for a configuration item.
* Determines a list of suggested values for an integer configuration item.
* \param values pointer to a table of integer values [OUT]
* \param texts pointer to a table of descriptions strings [OUT]
* \return number of choices, or -1 on error
* \note the caller is responsible for calling free() on all descriptions and
* on both tables. In case of error, both pointers are set to NULL.
*/
ssize_t
config_GetIntChoices
(
vlc_object_t
*
obj
,
const
char
*
name
,
int64_t
**
restrict
values
,
char
***
restrict
texts
)
{
*
values
=
NULL
;
*
texts
=
NULL
;
module_config_t
*
cfg
=
config_FindConfig
(
obj
,
name
);
if
(
cfg
==
NULL
)
{
msg_Warn
(
obj
,
"option %s does not exist"
,
name
);
errno
=
ENOENT
;
return
-
1
;
}
size_t
count
=
cfg
->
i_list
;
if
(
count
==
0
)
return
0
;
int64_t
*
vals
=
malloc
(
sizeof
(
*
vals
)
*
count
);
char
**
txts
=
malloc
(
sizeof
(
*
txts
)
*
count
);
if
(
unlikely
(
vals
==
NULL
||
txts
==
NULL
))
abort
();
for
(
size_t
i
=
0
;
i
<
count
;
i
++
)
{
vals
[
i
]
=
cfg
->
pi_list
[
i
];
txts
[
i
]
=
strdup
(
cfg
->
ppsz_list_text
[
i
]);
if
(
unlikely
(
txts
[
i
]
==
NULL
))
abort
();
}
*
values
=
vals
;
*
texts
=
txts
;
return
count
;
}
/**
* Determines a list of suggested values for a string configuration item.
* \param values pointer to a table of value strings [OUT]
* \param texts pointer to a table of descriptions strings [OUT]
* \return number of choices, or -1 on error
...
...
src/libvlccore.sym
View file @
40ec6172
...
...
@@ -44,6 +44,7 @@ config_GetLibDir
config_GetFloat
config_GetUserDir
config_GetInt
config_GetIntChoices
config_GetPsz
config_GetPszChoices
config_GetType
...
...
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