Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Steve Lhomme
VLC
Commits
73edaec8
Commit
73edaec8
authored
May 16, 2008
by
Rémi Denis-Courmont
Browse files
vlc_list_children: list children _safely_
parent
456d36de
Changes
3
Hide whitespace changes
Inline
Side-by-side
include/vlc_objects.h
View file @
73edaec8
...
...
@@ -111,6 +111,7 @@ VLC_EXPORT( void *, __vlc_object_find_name, ( vlc_object_t *, const char *, int
VLC_EXPORT
(
void
,
__vlc_object_yield
,
(
vlc_object_t
*
)
);
VLC_EXPORT
(
void
,
__vlc_object_release
,
(
vlc_object_t
*
)
);
VLC_EXPORT
(
vlc_list_t
*
,
__vlc_list_find
,
(
vlc_object_t
*
,
int
,
int
)
);
VLC_EXPORT
(
vlc_list_t
*
,
__vlc_list_children
,
(
vlc_object_t
*
)
);
VLC_EXPORT
(
void
,
vlc_list_release
,
(
vlc_list_t
*
)
);
/* __vlc_object_dump */
...
...
@@ -145,6 +146,9 @@ VLC_EXPORT( void, __vlc_object_dump, ( vlc_object_t *p_this ) );
#define vlc_list_find(a,b,c) \
__vlc_list_find( VLC_OBJECT(a),b,c)
#define vlc_list_children(a) \
__vlc_list_children( VLC_OBJECT(a) )
#define vlc_object_dump(a) \
__vlc_object_dump( VLC_OBJECT(a))
...
...
src/libvlccore.sym
View file @
73edaec8
...
...
@@ -405,6 +405,7 @@ vlc_getnameinfo
vlc_iconv
vlc_iconv_close
vlc_iconv_open
__vlc_list_children
__vlc_list_find
vlc_list_release
vlc_lldiv
...
...
src/misc/objects.c
View file @
73edaec8
...
...
@@ -1021,6 +1021,26 @@ vlc_list_t * __vlc_list_find( vlc_object_t *p_this, int i_type, int i_mode )
return
p_list
;
}
/**
* Gets the list of children of an objects, and increment their reference
* count.
* @return a list (possibly empty) or NULL in case of error.
*/
vlc_list_t
*
__vlc_list_children
(
vlc_object_t
*
obj
)
{
vlc_list_t
*
l
;
vlc_mutex_lock
(
&
structure_lock
);
l
=
NewList
(
obj
->
i_children
);
for
(
int
i
=
0
;
i
<
l
->
i_count
;
i
++
)
{
vlc_object_yield
(
obj
->
pp_children
[
i
]
);
l
->
p_values
[
i
].
p_object
=
obj
->
pp_children
[
i
];
}
vlc_mutex_unlock
(
&
structure_lock
);
return
l
;
}
/*****************************************************************************
* DumpCommand: print the current vlc structure
*****************************************************************************
...
...
Write
Preview
Supports
Markdown
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