vlc | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Wed Jul 8 11:07:35 2015 +0200| [c1d3fe80b2248c7cf56cd1aa0ab5a776c7c678d8] | committer: Jean-Baptiste Kempf
Add text_segment_Delete to delete a specific segment > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c1d3fe80b2248c7cf56cd1aa0ab5a776c7c678d8 --- include/vlc_text_style.h | 9 ++++++++- src/libvlccore.sym | 1 + src/misc/text_style.c | 14 +++++++++++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/include/vlc_text_style.h b/include/vlc_text_style.h index 2993faf..6d9280e 100644 --- a/include/vlc_text_style.h +++ b/include/vlc_text_style.h @@ -133,13 +133,20 @@ VLC_API void text_style_Delete( text_style_t * ); * This function will create a new text segment. * * You should use text_segment_ChainDelete to destroy it, to clean all - * the linked segments. + * the linked segments, or text_segment_Delete to free a specic one * * This duplicates the string passed as argument */ VLC_API text_segment_t *text_segment_New( const char * ); /** + * Delete a text segment and its content. + * + * This assumes the segment is not part of a chain + */ +VLC_API void text_segment_Delete( text_segment_t * ); + +/** * This function will destroy a list of text segments allocated * by text_segment_New. * diff --git a/src/libvlccore.sym b/src/libvlccore.sym index a2975d7..3749a5b 100644 --- a/src/libvlccore.sym +++ b/src/libvlccore.sym @@ -419,6 +419,7 @@ subpicture_region_Copy subpicture_region_Delete subpicture_region_New text_segment_New +text_segment_Delete text_segment_ChainDelete text_segment_Copy vlc_tls_ClientCreate diff --git a/src/misc/text_style.c b/src/misc/text_style.c index 1788634..8e7e8a2 100644 --- a/src/misc/text_style.c +++ b/src/misc/text_style.c @@ -105,15 +105,23 @@ text_segment_t *text_segment_New( const char *psz_text ) return segment; } +void text_segment_Delete( text_segment_t* segment ) +{ + if ( segment != NULL ) + { + free( segment->psz_text ); + free( segment ); + text_style_Delete( segment->style ); + } +} + void text_segment_ChainDelete( text_segment_t *segment ) { while( segment != NULL ) { text_segment_t *p_next = segment->p_next; - free( segment->psz_text ); - //text_style_Delete( segment->style ); - free( segment ); + text_segment_Delete( segment ); segment = p_next; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
