/src/vlc/include/vlc_arrays.h
Line | Count | Source |
1 | | /***************************************************************************** |
2 | | * vlc_arrays.h : Arrays and data structures handling |
3 | | ***************************************************************************** |
4 | | * Copyright (C) 1999-2004 VLC authors and VideoLAN |
5 | | * |
6 | | * Authors: Samuel Hocevar <sam@zoy.org> |
7 | | * Clément Stenac <zorglub@videolan.org> |
8 | | * |
9 | | * This program is free software; you can redistribute it and/or modify it |
10 | | * under the terms of the GNU Lesser General Public License as published by |
11 | | * the Free Software Foundation; either version 2.1 of the License, or |
12 | | * (at your option) any later version. |
13 | | * |
14 | | * This program is distributed in the hope that it will be useful, |
15 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17 | | * GNU Lesser General Public License for more details. |
18 | | * |
19 | | * You should have received a copy of the GNU Lesser General Public License |
20 | | * along with this program; if not, write to the Free Software Foundation, |
21 | | * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. |
22 | | *****************************************************************************/ |
23 | | |
24 | | #ifndef VLC_ARRAYS_H_ |
25 | | #define VLC_ARRAYS_H_ |
26 | | |
27 | | #include <vlc_common.h> |
28 | | |
29 | | /** |
30 | | * \file |
31 | | * This file defines functions, structures and macros for handling arrays in vlc |
32 | | */ |
33 | | |
34 | | /* realloc() that never fails *if* downsizing */ |
35 | | static inline void *realloc_down( void *ptr, size_t size ) |
36 | 0 | { |
37 | 0 | void *ret = realloc( ptr, size ); |
38 | 0 | return ret ? ret : ptr; |
39 | 0 | } Unexecuted instantiation: demux-run.c:realloc_down Unexecuted instantiation: common.c:realloc_down Unexecuted instantiation: decoder.c:realloc_down Unexecuted instantiation: core.c:realloc_down Unexecuted instantiation: error.c:realloc_down Unexecuted instantiation: asf.c:realloc_down Unexecuted instantiation: avi.c:realloc_down Unexecuted instantiation: es.c:realloc_down Unexecuted instantiation: flac.c:realloc_down Unexecuted instantiation: xiph_metadata.c:realloc_down Unexecuted instantiation: mp4.c:realloc_down Unexecuted instantiation: heif.c:realloc_down Unexecuted instantiation: sap.c:realloc_down Unexecuted instantiation: subtitle.c:realloc_down Unexecuted instantiation: ttml.c:realloc_down Unexecuted instantiation: encttml.c:realloc_down Unexecuted instantiation: substtml.c:realloc_down Unexecuted instantiation: genttml.c:realloc_down Unexecuted instantiation: subsvtt.c:realloc_down Unexecuted instantiation: hx.c:realloc_down Unexecuted instantiation: ogg.c:realloc_down Unexecuted instantiation: ts.c:realloc_down Unexecuted instantiation: ts_pid.c:realloc_down Unexecuted instantiation: ts_psi.c:realloc_down Unexecuted instantiation: ts_si.c:realloc_down Unexecuted instantiation: ts_psip.c:realloc_down Unexecuted instantiation: ts_streams.c:realloc_down Unexecuted instantiation: ts_scte.c:realloc_down Unexecuted instantiation: mpeg4_iod.c:realloc_down Unexecuted instantiation: ts_arib.c:realloc_down Unexecuted instantiation: ts_sl.c:realloc_down Unexecuted instantiation: ts_metadata.c:realloc_down Unexecuted instantiation: ts_hotfixes.c:realloc_down Unexecuted instantiation: ts_pes.c:realloc_down Unexecuted instantiation: matroska_segment.cpp:realloc_down(void*, unsigned long) Unexecuted instantiation: chapters.cpp:realloc_down(void*, unsigned long) Unexecuted instantiation: chapter_command.cpp:realloc_down(void*, unsigned long) Unexecuted instantiation: dvbsub.c:realloc_down Unexecuted instantiation: subsusf.c:realloc_down Unexecuted instantiation: libvlc.c:realloc_down Unexecuted instantiation: media_tree.c:realloc_down Unexecuted instantiation: modules.c:realloc_down Unexecuted instantiation: entry.c:realloc_down Unexecuted instantiation: dialog.c:realloc_down Unexecuted instantiation: interface.c:realloc_down Unexecuted instantiation: external.c:realloc_down Unexecuted instantiation: item.c:realloc_down Unexecuted instantiation: access.c:realloc_down Unexecuted instantiation: demux.c:realloc_down Unexecuted instantiation: input.c:realloc_down Unexecuted instantiation: meta.c:realloc_down Unexecuted instantiation: player.c:realloc_down Unexecuted instantiation: stream.c:realloc_down Unexecuted instantiation: stream_extractor.c:realloc_down Unexecuted instantiation: stream_filter.c:realloc_down Unexecuted instantiation: stream_memory.c:realloc_down Unexecuted instantiation: subtitles.c:realloc_down Unexecuted instantiation: video_output.c:realloc_down Unexecuted instantiation: strings.c:realloc_down Unexecuted instantiation: epg.c:realloc_down Unexecuted instantiation: exit.c:realloc_down Unexecuted instantiation: variables.c:realloc_down Unexecuted instantiation: httpcookies.c:realloc_down Unexecuted instantiation: specific.c:realloc_down Unexecuted instantiation: stream_output.c:realloc_down Unexecuted instantiation: vlm.c:realloc_down Unexecuted instantiation: vlm_event.c:realloc_down Unexecuted instantiation: vlmshell.c:realloc_down Unexecuted instantiation: es_out.c:realloc_down Unexecuted instantiation: es_out_timeshift.c:realloc_down Unexecuted instantiation: parse.c:realloc_down Unexecuted instantiation: fetcher.c:realloc_down |
40 | | |
41 | | /** |
42 | | * This wrapper around realloc() will free the input pointer when |
43 | | * realloc() returns NULL. The use case ptr = realloc(ptr, newsize) will |
44 | | * cause a memory leak when ptr pointed to a heap allocation before, |
45 | | * leaving the buffer allocated but unreferenced. vlc_realloc() is a |
46 | | * drop-in replacement for that use case (and only that use case). |
47 | | */ |
48 | | static inline void *realloc_or_free( void *p, size_t sz ) |
49 | 774k | { |
50 | 774k | void *n = realloc(p,sz); |
51 | 774k | if( !n ) |
52 | 0 | free(p); |
53 | 774k | return n; |
54 | 774k | } Unexecuted instantiation: demux-run.c:realloc_or_free Unexecuted instantiation: common.c:realloc_or_free Unexecuted instantiation: decoder.c:realloc_or_free Unexecuted instantiation: core.c:realloc_or_free Unexecuted instantiation: error.c:realloc_or_free Unexecuted instantiation: asf.c:realloc_or_free Line | Count | Source | 49 | 183 | { | 50 | 183 | void *n = realloc(p,sz); | 51 | 183 | if( !n ) | 52 | 0 | free(p); | 53 | 183 | return n; | 54 | 183 | } |
Unexecuted instantiation: es.c:realloc_or_free Unexecuted instantiation: flac.c:realloc_or_free Unexecuted instantiation: xiph_metadata.c:realloc_or_free Line | Count | Source | 49 | 109 | { | 50 | 109 | void *n = realloc(p,sz); | 51 | 109 | if( !n ) | 52 | 0 | free(p); | 53 | 109 | return n; | 54 | 109 | } |
Unexecuted instantiation: heif.c:realloc_or_free Unexecuted instantiation: sap.c:realloc_or_free subtitle.c:realloc_or_free Line | Count | Source | 49 | 766k | { | 50 | 766k | void *n = realloc(p,sz); | 51 | 766k | if( !n ) | 52 | 0 | free(p); | 53 | 766k | return n; | 54 | 766k | } |
Unexecuted instantiation: ttml.c:realloc_or_free Unexecuted instantiation: encttml.c:realloc_or_free Unexecuted instantiation: substtml.c:realloc_or_free Unexecuted instantiation: genttml.c:realloc_or_free Unexecuted instantiation: subsvtt.c:realloc_or_free Unexecuted instantiation: hx.c:realloc_or_free Line | Count | Source | 49 | 239 | { | 50 | 239 | void *n = realloc(p,sz); | 51 | 239 | if( !n ) | 52 | 0 | free(p); | 53 | 239 | return n; | 54 | 239 | } |
Unexecuted instantiation: ts.c:realloc_or_free Unexecuted instantiation: ts_pid.c:realloc_or_free Unexecuted instantiation: ts_psi.c:realloc_or_free Unexecuted instantiation: ts_si.c:realloc_or_free Unexecuted instantiation: ts_psip.c:realloc_or_free Unexecuted instantiation: ts_streams.c:realloc_or_free Unexecuted instantiation: ts_scte.c:realloc_or_free Unexecuted instantiation: mpeg4_iod.c:realloc_or_free Unexecuted instantiation: ts_arib.c:realloc_or_free Unexecuted instantiation: ts_sl.c:realloc_or_free Unexecuted instantiation: ts_metadata.c:realloc_or_free Unexecuted instantiation: ts_hotfixes.c:realloc_or_free Unexecuted instantiation: ts_pes.c:realloc_or_free Unexecuted instantiation: matroska_segment.cpp:realloc_or_free(void*, unsigned long) Unexecuted instantiation: chapters.cpp:realloc_or_free(void*, unsigned long) Unexecuted instantiation: chapter_command.cpp:realloc_or_free(void*, unsigned long) Unexecuted instantiation: dvbsub.c:realloc_or_free Unexecuted instantiation: subsusf.c:realloc_or_free Unexecuted instantiation: libvlc.c:realloc_or_free Unexecuted instantiation: media_tree.c:realloc_or_free Unexecuted instantiation: modules.c:realloc_or_free Line | Count | Source | 49 | 7.97k | { | 50 | 7.97k | void *n = realloc(p,sz); | 51 | 7.97k | if( !n ) | 52 | 0 | free(p); | 53 | 7.97k | return n; | 54 | 7.97k | } |
Unexecuted instantiation: dialog.c:realloc_or_free Unexecuted instantiation: interface.c:realloc_or_free Unexecuted instantiation: external.c:realloc_or_free Unexecuted instantiation: item.c:realloc_or_free Unexecuted instantiation: access.c:realloc_or_free Unexecuted instantiation: demux.c:realloc_or_free Unexecuted instantiation: input.c:realloc_or_free Unexecuted instantiation: meta.c:realloc_or_free Unexecuted instantiation: player.c:realloc_or_free Unexecuted instantiation: stream.c:realloc_or_free Unexecuted instantiation: stream_extractor.c:realloc_or_free Unexecuted instantiation: stream_filter.c:realloc_or_free Unexecuted instantiation: stream_memory.c:realloc_or_free Unexecuted instantiation: subtitles.c:realloc_or_free Unexecuted instantiation: video_output.c:realloc_or_free Unexecuted instantiation: strings.c:realloc_or_free Unexecuted instantiation: epg.c:realloc_or_free Unexecuted instantiation: exit.c:realloc_or_free Unexecuted instantiation: variables.c:realloc_or_free Unexecuted instantiation: httpcookies.c:realloc_or_free Unexecuted instantiation: specific.c:realloc_or_free Unexecuted instantiation: stream_output.c:realloc_or_free Unexecuted instantiation: vlm.c:realloc_or_free Unexecuted instantiation: vlm_event.c:realloc_or_free Unexecuted instantiation: vlmshell.c:realloc_or_free Unexecuted instantiation: es_out.c:realloc_or_free Unexecuted instantiation: es_out_timeshift.c:realloc_or_free Unexecuted instantiation: parse.c:realloc_or_free Unexecuted instantiation: fetcher.c:realloc_or_free |
55 | | |
56 | | #define TAB_INIT( count, tab ) \ |
57 | 14.2k | do { \ |
58 | 14.2k | (count) = 0; \ |
59 | 14.2k | (tab) = NULL; \ |
60 | 14.2k | } while(0) |
61 | | |
62 | | #define TAB_CLEAN( count, tab ) \ |
63 | 16.2k | do { \ |
64 | 16.2k | free( tab ); \ |
65 | 16.2k | (count)= 0; \ |
66 | 16.2k | (tab)= NULL; \ |
67 | 16.2k | } while(0) |
68 | | |
69 | | #define TAB_APPEND_CAST( cast, count, tab, p ) \ |
70 | 7.06k | do { \ |
71 | 7.06k | if( (count) > 0 ) \ |
72 | 7.06k | (tab) = cast realloc( tab, sizeof( *(tab) ) * ( (count) + 1 ) ); \ |
73 | 7.06k | else \ |
74 | 7.06k | (tab) = cast malloc( sizeof( *(tab) ) ); \ |
75 | 7.06k | if( !(tab) ) abort(); \ |
76 | 7.06k | (tab)[count] = (p); \ |
77 | 7.06k | (count)++; \ |
78 | 7.06k | } while(0) |
79 | | |
80 | | #define TAB_APPEND( count, tab, p ) \ |
81 | 5.80k | TAB_APPEND_CAST( , count, tab, p ) |
82 | | |
83 | | #define TAB_FIND( count, tab, p, idx ) \ |
84 | 0 | do { \ |
85 | 0 | for( (idx) = 0; (idx) < (count); (idx)++ ) \ |
86 | 0 | if( (tab)[(idx)] == (p) ) \ |
87 | 0 | break; \ |
88 | 0 | if( (idx) >= (count) ) \ |
89 | 0 | (idx) = -1; \ |
90 | 0 | } while(0) |
91 | | |
92 | | |
93 | | #define TAB_ERASE( count, tab, index ) \ |
94 | 0 | do { \ |
95 | 0 | if( (count) > 1 ) \ |
96 | 0 | memmove( (tab) + (index), \ |
97 | 0 | (tab) + (index) + 1, \ |
98 | 0 | ((count) - (index) - 1 ) * sizeof( *(tab) ) );\ |
99 | 0 | (count)--; \ |
100 | 0 | if( (count) == 0 ) \ |
101 | 0 | { \ |
102 | 0 | free( tab ); \ |
103 | 0 | (tab) = NULL; \ |
104 | 0 | } \ |
105 | 0 | } while(0) |
106 | | |
107 | | #define TAB_REMOVE( count, tab, p ) \ |
108 | 0 | do { \ |
109 | 0 | int i_index; \ |
110 | 0 | TAB_FIND( count, tab, p, i_index ); \ |
111 | 0 | if( i_index >= 0 ) \ |
112 | 0 | TAB_ERASE( count, tab, i_index ); \ |
113 | 0 | } while(0) |
114 | | |
115 | 0 | #define TAB_INSERT_CAST( cast, count, tab, p, index ) do { \ |
116 | 0 | if( (count) > 0 ) \ |
117 | 0 | (tab) = cast realloc( tab, sizeof( *(tab) ) * ( (count) + 1 ) ); \ |
118 | 0 | else \ |
119 | 0 | (tab) = cast malloc( sizeof( *(tab) ) ); \ |
120 | 0 | if( !(tab) ) abort(); \ |
121 | 0 | if( (count) - (index) > 0 ) \ |
122 | 0 | memmove( (tab) + (index) + 1, \ |
123 | 0 | (tab) + (index), \ |
124 | 0 | ((count) - (index)) * sizeof( *(tab) ) );\ |
125 | 0 | (tab)[(index)] = (p); \ |
126 | 0 | (count)++; \ |
127 | 0 | } while(0) |
128 | | |
129 | | #define TAB_INSERT( count, tab, p, index ) \ |
130 | 0 | TAB_INSERT_CAST( , count, tab, p, index ) |
131 | | |
132 | | /** |
133 | | * Binary search in a sorted array. The key must be comparable by < and > |
134 | | * \param entries array of entries |
135 | | * \param count number of entries |
136 | | * \param elem key to check within an entry (like .id, or ->i_id) |
137 | | * \param zetype type of the key |
138 | | * \param key value of the key |
139 | | * \param answer index of answer within the array. -1 if not found |
140 | | */ |
141 | | #define BSEARCH( entries, count, elem, zetype, key, answer ) \ |
142 | 0 | do { \ |
143 | 0 | int low = 0, high = count - 1; \ |
144 | 0 | answer = -1; \ |
145 | 0 | while( low <= high ) {\ |
146 | 0 | int mid = ((unsigned int)low + (unsigned int)high) >> 1;\ |
147 | 0 | zetype mid_val = entries[mid] elem;\ |
148 | 0 | if( mid_val < key ) \ |
149 | 0 | low = mid + 1; \ |
150 | 0 | else if ( mid_val > key ) \ |
151 | 0 | high = mid -1; \ |
152 | 0 | else \ |
153 | 0 | { \ |
154 | 0 | answer = mid; break; \ |
155 | 0 | }\ |
156 | 0 | } \ |
157 | 0 | } while(0) |
158 | | |
159 | | |
160 | | /************************************************************************ |
161 | | * Dynamic arrays with progressive allocation |
162 | | ************************************************************************/ |
163 | | |
164 | | /* Internal functions */ |
165 | 35.5k | #define _ARRAY_ALLOC(array, newsize) { \ |
166 | 35.5k | (array).i_alloc = newsize; \ |
167 | 35.5k | (array).p_elems = vlc_reallocarray( (array).p_elems, (array).i_alloc, \ |
168 | 35.5k | sizeof(*(array).p_elems) ); \ |
169 | 35.5k | if( !(array).p_elems ) abort(); \ |
170 | 35.5k | } |
171 | | |
172 | 103k | #define _ARRAY_GROW1(array) { \ |
173 | 103k | if( (array).i_alloc < 10 ) \ |
174 | 103k | _ARRAY_ALLOC(array, 10 ) \ |
175 | 103k | else if( (array).i_alloc == (array).i_size ) \ |
176 | 68.3k | _ARRAY_ALLOC(array, (int)((array).i_alloc * 1.5) ) \ |
177 | 103k | } |
178 | | |
179 | | /* API */ |
180 | 28.0k | #define DECL_ARRAY(type) struct { \ |
181 | 28.0k | int i_alloc; \ |
182 | 28.0k | int i_size; \ |
183 | 28.0k | type *p_elems; \ |
184 | 28.0k | } |
185 | | |
186 | | #define TYPEDEF_ARRAY(type, name) typedef DECL_ARRAY(type) name; |
187 | | |
188 | | #define ARRAY_INIT(array) \ |
189 | 46.7k | do { \ |
190 | 46.7k | (array).i_alloc = 0; \ |
191 | 46.7k | (array).i_size = 0; \ |
192 | 46.7k | (array).p_elems = NULL; \ |
193 | 46.7k | } while(0) |
194 | | |
195 | | #define ARRAY_RESET(array) \ |
196 | 46.8k | do { \ |
197 | 46.8k | (array).i_alloc = 0; \ |
198 | 46.8k | (array).i_size = 0; \ |
199 | 46.8k | free( (array).p_elems ); (array).p_elems = NULL; \ |
200 | 46.8k | } while(0) |
201 | | |
202 | | #define ARRAY_APPEND(array, elem) \ |
203 | 94.7k | do { \ |
204 | 94.7k | _ARRAY_GROW1(array); \ |
205 | 94.7k | (array).p_elems[(array).i_size] = elem; \ |
206 | 94.7k | (array).i_size++; \ |
207 | 94.7k | } while(0) |
208 | | |
209 | | #define ARRAY_INSERT(array,elem,pos) \ |
210 | 9.10k | do { \ |
211 | 9.10k | _ARRAY_GROW1(array); \ |
212 | 9.10k | if( (array).i_size - (pos) ) { \ |
213 | 2.60k | memmove( (array).p_elems + (pos) + 1, (array).p_elems + (pos), \ |
214 | 2.60k | ((array).i_size-(pos)) * sizeof(*(array).p_elems) ); \ |
215 | 2.60k | } \ |
216 | 9.10k | (array).p_elems[pos] = elem; \ |
217 | 9.10k | (array).i_size++; \ |
218 | 9.10k | } while(0) |
219 | | |
220 | 562 | #define _ARRAY_SHRINK(array) { \ |
221 | 562 | if( (array).i_size > 10 && (array).i_size < (int)((array).i_alloc / 1.5) ) { \ |
222 | 0 | _ARRAY_ALLOC(array, (array).i_size + 5); \ |
223 | 0 | } \ |
224 | 562 | } |
225 | | |
226 | | #define ARRAY_FIND(array, p, idx) \ |
227 | | TAB_FIND((array).i_size, (array).p_elems, p, idx) |
228 | | |
229 | | #define ARRAY_REMOVE(array,pos) \ |
230 | 562 | do { \ |
231 | 562 | if( (array).i_size - (pos) - 1 ) \ |
232 | 562 | { \ |
233 | 324 | memmove( (array).p_elems + (pos), (array).p_elems + (pos) + 1, \ |
234 | 324 | ( (array).i_size - (pos) - 1 ) *sizeof(*(array).p_elems) );\ |
235 | 324 | } \ |
236 | 562 | (array).i_size--; \ |
237 | 562 | _ARRAY_SHRINK(array); \ |
238 | 562 | } while(0) |
239 | | |
240 | | #define ARRAY_VAL(array, pos) array.p_elems[pos] |
241 | | |
242 | | #define ARRAY_BSEARCH(array, elem, zetype, key, answer) \ |
243 | 0 | BSEARCH( (array).p_elems, (array).i_size, elem, zetype, key, answer) |
244 | | |
245 | | /* append ##item to index variable name to avoid variable shadowing warnings for |
246 | | * nested loops */ |
247 | | #define ARRAY_FOREACH(item, array) \ |
248 | | for (int array_index_##item = 0; \ |
249 | | array_index_##item < (array).i_size && \ |
250 | | ((item) = (array).p_elems[array_index_##item], 1); \ |
251 | | ++array_index_##item) |
252 | | |
253 | | |
254 | | /************************************************************************ |
255 | | * Dynamic arrays with progressive allocation (Preferred API) |
256 | | ************************************************************************/ |
257 | | typedef struct vlc_array_t |
258 | | { |
259 | | size_t i_count; |
260 | | void ** pp_elems; |
261 | | } vlc_array_t; |
262 | | |
263 | | static inline void vlc_array_init( vlc_array_t * p_array ) |
264 | 2.38M | { |
265 | 2.38M | p_array->i_count = 0; |
266 | 2.38M | p_array->pp_elems = NULL; |
267 | 2.38M | } Unexecuted instantiation: demux-run.c:vlc_array_init Unexecuted instantiation: common.c:vlc_array_init Unexecuted instantiation: decoder.c:vlc_array_init Unexecuted instantiation: core.c:vlc_array_init Unexecuted instantiation: error.c:vlc_array_init Unexecuted instantiation: asf.c:vlc_array_init Unexecuted instantiation: avi.c:vlc_array_init Unexecuted instantiation: es.c:vlc_array_init Unexecuted instantiation: flac.c:vlc_array_init Unexecuted instantiation: xiph_metadata.c:vlc_array_init Unexecuted instantiation: mp4.c:vlc_array_init Unexecuted instantiation: heif.c:vlc_array_init Unexecuted instantiation: sap.c:vlc_array_init Unexecuted instantiation: subtitle.c:vlc_array_init Unexecuted instantiation: ttml.c:vlc_array_init Unexecuted instantiation: encttml.c:vlc_array_init Unexecuted instantiation: substtml.c:vlc_array_init Unexecuted instantiation: genttml.c:vlc_array_init Line | Count | Source | 264 | 2.38M | { | 265 | 2.38M | p_array->i_count = 0; | 266 | | p_array->pp_elems = NULL; | 267 | 2.38M | } |
Unexecuted instantiation: hx.c:vlc_array_init Unexecuted instantiation: ogg.c:vlc_array_init Unexecuted instantiation: ts.c:vlc_array_init Unexecuted instantiation: ts_pid.c:vlc_array_init Unexecuted instantiation: ts_psi.c:vlc_array_init Unexecuted instantiation: ts_si.c:vlc_array_init Unexecuted instantiation: ts_psip.c:vlc_array_init Unexecuted instantiation: ts_streams.c:vlc_array_init Unexecuted instantiation: ts_scte.c:vlc_array_init Unexecuted instantiation: mpeg4_iod.c:vlc_array_init Unexecuted instantiation: ts_arib.c:vlc_array_init Unexecuted instantiation: ts_sl.c:vlc_array_init Unexecuted instantiation: ts_metadata.c:vlc_array_init Unexecuted instantiation: ts_hotfixes.c:vlc_array_init Unexecuted instantiation: ts_pes.c:vlc_array_init Unexecuted instantiation: matroska_segment.cpp:vlc_array_init(vlc_array_t*) Unexecuted instantiation: chapters.cpp:vlc_array_init(vlc_array_t*) Unexecuted instantiation: chapter_command.cpp:vlc_array_init(vlc_array_t*) Unexecuted instantiation: dvbsub.c:vlc_array_init Unexecuted instantiation: subsusf.c:vlc_array_init Unexecuted instantiation: libvlc.c:vlc_array_init Unexecuted instantiation: media_tree.c:vlc_array_init Unexecuted instantiation: modules.c:vlc_array_init Unexecuted instantiation: entry.c:vlc_array_init Line | Count | Source | 264 | 67 | { | 265 | 67 | p_array->i_count = 0; | 266 | | p_array->pp_elems = NULL; | 267 | 67 | } |
Unexecuted instantiation: interface.c:vlc_array_init Unexecuted instantiation: external.c:vlc_array_init Unexecuted instantiation: item.c:vlc_array_init Unexecuted instantiation: access.c:vlc_array_init Unexecuted instantiation: demux.c:vlc_array_init Unexecuted instantiation: input.c:vlc_array_init Unexecuted instantiation: meta.c:vlc_array_init Unexecuted instantiation: player.c:vlc_array_init Unexecuted instantiation: stream.c:vlc_array_init Unexecuted instantiation: stream_extractor.c:vlc_array_init Unexecuted instantiation: stream_filter.c:vlc_array_init Unexecuted instantiation: stream_memory.c:vlc_array_init Unexecuted instantiation: subtitles.c:vlc_array_init Unexecuted instantiation: video_output.c:vlc_array_init Unexecuted instantiation: strings.c:vlc_array_init Unexecuted instantiation: epg.c:vlc_array_init Unexecuted instantiation: exit.c:vlc_array_init Unexecuted instantiation: variables.c:vlc_array_init Unexecuted instantiation: httpcookies.c:vlc_array_init Unexecuted instantiation: specific.c:vlc_array_init Unexecuted instantiation: stream_output.c:vlc_array_init Unexecuted instantiation: vlm.c:vlc_array_init Unexecuted instantiation: vlm_event.c:vlc_array_init Unexecuted instantiation: vlmshell.c:vlc_array_init Unexecuted instantiation: es_out.c:vlc_array_init Unexecuted instantiation: es_out_timeshift.c:vlc_array_init Unexecuted instantiation: parse.c:vlc_array_init Unexecuted instantiation: fetcher.c:vlc_array_init |
268 | | |
269 | | static inline void vlc_array_clear( vlc_array_t * p_array ) |
270 | 1.19M | { |
271 | 1.19M | free( p_array->pp_elems ); |
272 | 1.19M | vlc_array_init( p_array ); |
273 | 1.19M | } Unexecuted instantiation: demux-run.c:vlc_array_clear Unexecuted instantiation: common.c:vlc_array_clear Unexecuted instantiation: decoder.c:vlc_array_clear Unexecuted instantiation: core.c:vlc_array_clear Unexecuted instantiation: error.c:vlc_array_clear Unexecuted instantiation: asf.c:vlc_array_clear Unexecuted instantiation: avi.c:vlc_array_clear Unexecuted instantiation: es.c:vlc_array_clear Unexecuted instantiation: flac.c:vlc_array_clear Unexecuted instantiation: xiph_metadata.c:vlc_array_clear Unexecuted instantiation: mp4.c:vlc_array_clear Unexecuted instantiation: heif.c:vlc_array_clear Unexecuted instantiation: sap.c:vlc_array_clear Unexecuted instantiation: subtitle.c:vlc_array_clear Unexecuted instantiation: ttml.c:vlc_array_clear Unexecuted instantiation: encttml.c:vlc_array_clear Unexecuted instantiation: substtml.c:vlc_array_clear Unexecuted instantiation: genttml.c:vlc_array_clear subsvtt.c:vlc_array_clear Line | Count | Source | 270 | 1.19M | { | 271 | 1.19M | free( p_array->pp_elems ); | 272 | 1.19M | vlc_array_init( p_array ); | 273 | 1.19M | } |
Unexecuted instantiation: hx.c:vlc_array_clear Unexecuted instantiation: ogg.c:vlc_array_clear Unexecuted instantiation: ts.c:vlc_array_clear Unexecuted instantiation: ts_pid.c:vlc_array_clear Unexecuted instantiation: ts_psi.c:vlc_array_clear Unexecuted instantiation: ts_si.c:vlc_array_clear Unexecuted instantiation: ts_psip.c:vlc_array_clear Unexecuted instantiation: ts_streams.c:vlc_array_clear Unexecuted instantiation: ts_scte.c:vlc_array_clear Unexecuted instantiation: mpeg4_iod.c:vlc_array_clear Unexecuted instantiation: ts_arib.c:vlc_array_clear Unexecuted instantiation: ts_sl.c:vlc_array_clear Unexecuted instantiation: ts_metadata.c:vlc_array_clear Unexecuted instantiation: ts_hotfixes.c:vlc_array_clear Unexecuted instantiation: ts_pes.c:vlc_array_clear Unexecuted instantiation: matroska_segment.cpp:vlc_array_clear(vlc_array_t*) Unexecuted instantiation: chapters.cpp:vlc_array_clear(vlc_array_t*) Unexecuted instantiation: chapter_command.cpp:vlc_array_clear(vlc_array_t*) Unexecuted instantiation: dvbsub.c:vlc_array_clear Unexecuted instantiation: subsusf.c:vlc_array_clear Unexecuted instantiation: libvlc.c:vlc_array_clear Unexecuted instantiation: media_tree.c:vlc_array_clear Unexecuted instantiation: modules.c:vlc_array_clear Unexecuted instantiation: entry.c:vlc_array_clear Unexecuted instantiation: dialog.c:vlc_array_clear Unexecuted instantiation: interface.c:vlc_array_clear Unexecuted instantiation: external.c:vlc_array_clear Unexecuted instantiation: item.c:vlc_array_clear Unexecuted instantiation: access.c:vlc_array_clear Unexecuted instantiation: demux.c:vlc_array_clear Unexecuted instantiation: input.c:vlc_array_clear Unexecuted instantiation: meta.c:vlc_array_clear Unexecuted instantiation: player.c:vlc_array_clear Unexecuted instantiation: stream.c:vlc_array_clear Unexecuted instantiation: stream_extractor.c:vlc_array_clear Unexecuted instantiation: stream_filter.c:vlc_array_clear Unexecuted instantiation: stream_memory.c:vlc_array_clear Unexecuted instantiation: subtitles.c:vlc_array_clear Unexecuted instantiation: video_output.c:vlc_array_clear Unexecuted instantiation: strings.c:vlc_array_clear Unexecuted instantiation: epg.c:vlc_array_clear Unexecuted instantiation: exit.c:vlc_array_clear Unexecuted instantiation: variables.c:vlc_array_clear Unexecuted instantiation: httpcookies.c:vlc_array_clear Unexecuted instantiation: specific.c:vlc_array_clear Unexecuted instantiation: stream_output.c:vlc_array_clear Unexecuted instantiation: vlm.c:vlc_array_clear Unexecuted instantiation: vlm_event.c:vlc_array_clear Unexecuted instantiation: vlmshell.c:vlc_array_clear Unexecuted instantiation: es_out.c:vlc_array_clear Unexecuted instantiation: es_out_timeshift.c:vlc_array_clear Unexecuted instantiation: parse.c:vlc_array_clear Unexecuted instantiation: fetcher.c:vlc_array_clear |
274 | | |
275 | | /* Read */ |
276 | | static inline size_t vlc_array_count( const vlc_array_t * p_array ) |
277 | 1.33M | { |
278 | 1.33M | return p_array->i_count; |
279 | 1.33M | } Unexecuted instantiation: demux-run.c:vlc_array_count Unexecuted instantiation: common.c:vlc_array_count Unexecuted instantiation: decoder.c:vlc_array_count Unexecuted instantiation: core.c:vlc_array_count Unexecuted instantiation: error.c:vlc_array_count Unexecuted instantiation: asf.c:vlc_array_count Unexecuted instantiation: avi.c:vlc_array_count Unexecuted instantiation: es.c:vlc_array_count Unexecuted instantiation: flac.c:vlc_array_count Unexecuted instantiation: xiph_metadata.c:vlc_array_count Unexecuted instantiation: mp4.c:vlc_array_count Unexecuted instantiation: heif.c:vlc_array_count Unexecuted instantiation: sap.c:vlc_array_count Unexecuted instantiation: subtitle.c:vlc_array_count Unexecuted instantiation: ttml.c:vlc_array_count Unexecuted instantiation: encttml.c:vlc_array_count Unexecuted instantiation: substtml.c:vlc_array_count Unexecuted instantiation: genttml.c:vlc_array_count subsvtt.c:vlc_array_count Line | Count | Source | 277 | 1.33M | { | 278 | 1.33M | return p_array->i_count; | 279 | 1.33M | } |
Unexecuted instantiation: hx.c:vlc_array_count Unexecuted instantiation: ogg.c:vlc_array_count Unexecuted instantiation: ts.c:vlc_array_count Unexecuted instantiation: ts_pid.c:vlc_array_count Unexecuted instantiation: ts_psi.c:vlc_array_count Unexecuted instantiation: ts_si.c:vlc_array_count Unexecuted instantiation: ts_psip.c:vlc_array_count Unexecuted instantiation: ts_streams.c:vlc_array_count Unexecuted instantiation: ts_scte.c:vlc_array_count Unexecuted instantiation: mpeg4_iod.c:vlc_array_count Unexecuted instantiation: ts_arib.c:vlc_array_count Unexecuted instantiation: ts_sl.c:vlc_array_count Unexecuted instantiation: ts_metadata.c:vlc_array_count Unexecuted instantiation: ts_hotfixes.c:vlc_array_count Unexecuted instantiation: ts_pes.c:vlc_array_count Unexecuted instantiation: matroska_segment.cpp:vlc_array_count(vlc_array_t const*) Unexecuted instantiation: chapters.cpp:vlc_array_count(vlc_array_t const*) Unexecuted instantiation: chapter_command.cpp:vlc_array_count(vlc_array_t const*) Unexecuted instantiation: dvbsub.c:vlc_array_count Unexecuted instantiation: subsusf.c:vlc_array_count Unexecuted instantiation: libvlc.c:vlc_array_count Unexecuted instantiation: media_tree.c:vlc_array_count Unexecuted instantiation: modules.c:vlc_array_count Unexecuted instantiation: entry.c:vlc_array_count Unexecuted instantiation: dialog.c:vlc_array_count Unexecuted instantiation: interface.c:vlc_array_count Unexecuted instantiation: external.c:vlc_array_count Unexecuted instantiation: item.c:vlc_array_count Unexecuted instantiation: access.c:vlc_array_count Unexecuted instantiation: demux.c:vlc_array_count Unexecuted instantiation: input.c:vlc_array_count Unexecuted instantiation: meta.c:vlc_array_count Unexecuted instantiation: player.c:vlc_array_count Unexecuted instantiation: stream.c:vlc_array_count Unexecuted instantiation: stream_extractor.c:vlc_array_count Unexecuted instantiation: stream_filter.c:vlc_array_count Unexecuted instantiation: stream_memory.c:vlc_array_count Unexecuted instantiation: subtitles.c:vlc_array_count Unexecuted instantiation: video_output.c:vlc_array_count Unexecuted instantiation: strings.c:vlc_array_count Unexecuted instantiation: epg.c:vlc_array_count Unexecuted instantiation: exit.c:vlc_array_count Unexecuted instantiation: variables.c:vlc_array_count Unexecuted instantiation: httpcookies.c:vlc_array_count Unexecuted instantiation: specific.c:vlc_array_count Unexecuted instantiation: stream_output.c:vlc_array_count Unexecuted instantiation: vlm.c:vlc_array_count Unexecuted instantiation: vlm_event.c:vlc_array_count Unexecuted instantiation: vlmshell.c:vlc_array_count Unexecuted instantiation: es_out.c:vlc_array_count Unexecuted instantiation: es_out_timeshift.c:vlc_array_count Unexecuted instantiation: parse.c:vlc_array_count Unexecuted instantiation: fetcher.c:vlc_array_count |
280 | | |
281 | | #ifndef __cplusplus |
282 | | static inline const void *vlc_array_item_at_index( const vlc_array_t *ar, |
283 | | size_t idx ) |
284 | 186k | { |
285 | 186k | return ar->pp_elems[idx]; |
286 | 186k | } Unexecuted instantiation: demux-run.c:vlc_array_item_at_index Unexecuted instantiation: common.c:vlc_array_item_at_index Unexecuted instantiation: decoder.c:vlc_array_item_at_index Unexecuted instantiation: core.c:vlc_array_item_at_index Unexecuted instantiation: error.c:vlc_array_item_at_index Unexecuted instantiation: asf.c:vlc_array_item_at_index Unexecuted instantiation: avi.c:vlc_array_item_at_index Unexecuted instantiation: es.c:vlc_array_item_at_index Unexecuted instantiation: flac.c:vlc_array_item_at_index Unexecuted instantiation: xiph_metadata.c:vlc_array_item_at_index Unexecuted instantiation: mp4.c:vlc_array_item_at_index Unexecuted instantiation: heif.c:vlc_array_item_at_index Unexecuted instantiation: sap.c:vlc_array_item_at_index Unexecuted instantiation: subtitle.c:vlc_array_item_at_index Unexecuted instantiation: ttml.c:vlc_array_item_at_index Unexecuted instantiation: encttml.c:vlc_array_item_at_index Unexecuted instantiation: substtml.c:vlc_array_item_at_index Unexecuted instantiation: genttml.c:vlc_array_item_at_index subsvtt.c:vlc_array_item_at_index Line | Count | Source | 284 | 186k | { | 285 | 186k | return ar->pp_elems[idx]; | 286 | 186k | } |
Unexecuted instantiation: hx.c:vlc_array_item_at_index Unexecuted instantiation: ogg.c:vlc_array_item_at_index Unexecuted instantiation: ts.c:vlc_array_item_at_index Unexecuted instantiation: ts_pid.c:vlc_array_item_at_index Unexecuted instantiation: ts_psi.c:vlc_array_item_at_index Unexecuted instantiation: ts_si.c:vlc_array_item_at_index Unexecuted instantiation: ts_psip.c:vlc_array_item_at_index Unexecuted instantiation: ts_streams.c:vlc_array_item_at_index Unexecuted instantiation: ts_scte.c:vlc_array_item_at_index Unexecuted instantiation: mpeg4_iod.c:vlc_array_item_at_index Unexecuted instantiation: ts_arib.c:vlc_array_item_at_index Unexecuted instantiation: ts_sl.c:vlc_array_item_at_index Unexecuted instantiation: ts_metadata.c:vlc_array_item_at_index Unexecuted instantiation: ts_hotfixes.c:vlc_array_item_at_index Unexecuted instantiation: ts_pes.c:vlc_array_item_at_index Unexecuted instantiation: dvbsub.c:vlc_array_item_at_index Unexecuted instantiation: subsusf.c:vlc_array_item_at_index Unexecuted instantiation: libvlc.c:vlc_array_item_at_index Unexecuted instantiation: media_tree.c:vlc_array_item_at_index Unexecuted instantiation: modules.c:vlc_array_item_at_index Unexecuted instantiation: entry.c:vlc_array_item_at_index Unexecuted instantiation: dialog.c:vlc_array_item_at_index Unexecuted instantiation: interface.c:vlc_array_item_at_index Unexecuted instantiation: external.c:vlc_array_item_at_index Unexecuted instantiation: item.c:vlc_array_item_at_index Unexecuted instantiation: access.c:vlc_array_item_at_index Unexecuted instantiation: demux.c:vlc_array_item_at_index Unexecuted instantiation: input.c:vlc_array_item_at_index Unexecuted instantiation: meta.c:vlc_array_item_at_index Unexecuted instantiation: player.c:vlc_array_item_at_index Unexecuted instantiation: stream.c:vlc_array_item_at_index Unexecuted instantiation: stream_extractor.c:vlc_array_item_at_index Unexecuted instantiation: stream_filter.c:vlc_array_item_at_index Unexecuted instantiation: stream_memory.c:vlc_array_item_at_index Unexecuted instantiation: subtitles.c:vlc_array_item_at_index Unexecuted instantiation: video_output.c:vlc_array_item_at_index Unexecuted instantiation: strings.c:vlc_array_item_at_index Unexecuted instantiation: epg.c:vlc_array_item_at_index Unexecuted instantiation: exit.c:vlc_array_item_at_index Unexecuted instantiation: variables.c:vlc_array_item_at_index Unexecuted instantiation: httpcookies.c:vlc_array_item_at_index Unexecuted instantiation: specific.c:vlc_array_item_at_index Unexecuted instantiation: stream_output.c:vlc_array_item_at_index Unexecuted instantiation: vlm.c:vlc_array_item_at_index Unexecuted instantiation: vlm_event.c:vlc_array_item_at_index Unexecuted instantiation: vlmshell.c:vlc_array_item_at_index Unexecuted instantiation: es_out.c:vlc_array_item_at_index Unexecuted instantiation: es_out_timeshift.c:vlc_array_item_at_index Unexecuted instantiation: parse.c:vlc_array_item_at_index Unexecuted instantiation: fetcher.c:vlc_array_item_at_index |
287 | | |
288 | | # define vlc_array_item_at_index(ar, idx) \ |
289 | 186k | _Generic((ar), \ |
290 | 186k | const vlc_array_t *: (vlc_array_item_at_index)(ar, idx), \ |
291 | 186k | vlc_array_t *: (void *)(vlc_array_item_at_index)(ar, idx)) |
292 | | #else |
293 | | static inline void *vlc_array_item_at_index( vlc_array_t *ar, size_t idx ) |
294 | 0 | { |
295 | 0 | return ar->pp_elems[idx]; |
296 | 0 | } Unexecuted instantiation: matroska_segment.cpp:vlc_array_item_at_index(vlc_array_t*, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_array_item_at_index(vlc_array_t*, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_array_item_at_index(vlc_array_t*, unsigned long) |
297 | | |
298 | | static inline const void *vlc_array_item_at_index( const vlc_array_t *ar, |
299 | | size_t idx ) |
300 | 0 | { |
301 | 0 | return ar->pp_elems[idx]; |
302 | 0 | } Unexecuted instantiation: matroska_segment.cpp:vlc_array_item_at_index(vlc_array_t const*, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_array_item_at_index(vlc_array_t const*, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_array_item_at_index(vlc_array_t const*, unsigned long) |
303 | | #endif |
304 | | |
305 | | static inline ssize_t vlc_array_index_of_item( const vlc_array_t *ar, |
306 | | const void *elem ) |
307 | 0 | { |
308 | 0 | for( size_t i = 0; i < ar->i_count; i++ ) |
309 | 0 | { |
310 | 0 | if( ar->pp_elems[i] == elem ) |
311 | 0 | return i; |
312 | 0 | } |
313 | 0 | return -1; |
314 | 0 | } Unexecuted instantiation: demux-run.c:vlc_array_index_of_item Unexecuted instantiation: common.c:vlc_array_index_of_item Unexecuted instantiation: decoder.c:vlc_array_index_of_item Unexecuted instantiation: core.c:vlc_array_index_of_item Unexecuted instantiation: error.c:vlc_array_index_of_item Unexecuted instantiation: asf.c:vlc_array_index_of_item Unexecuted instantiation: avi.c:vlc_array_index_of_item Unexecuted instantiation: es.c:vlc_array_index_of_item Unexecuted instantiation: flac.c:vlc_array_index_of_item Unexecuted instantiation: xiph_metadata.c:vlc_array_index_of_item Unexecuted instantiation: mp4.c:vlc_array_index_of_item Unexecuted instantiation: heif.c:vlc_array_index_of_item Unexecuted instantiation: sap.c:vlc_array_index_of_item Unexecuted instantiation: subtitle.c:vlc_array_index_of_item Unexecuted instantiation: ttml.c:vlc_array_index_of_item Unexecuted instantiation: encttml.c:vlc_array_index_of_item Unexecuted instantiation: substtml.c:vlc_array_index_of_item Unexecuted instantiation: genttml.c:vlc_array_index_of_item Unexecuted instantiation: subsvtt.c:vlc_array_index_of_item Unexecuted instantiation: hx.c:vlc_array_index_of_item Unexecuted instantiation: ogg.c:vlc_array_index_of_item Unexecuted instantiation: ts.c:vlc_array_index_of_item Unexecuted instantiation: ts_pid.c:vlc_array_index_of_item Unexecuted instantiation: ts_psi.c:vlc_array_index_of_item Unexecuted instantiation: ts_si.c:vlc_array_index_of_item Unexecuted instantiation: ts_psip.c:vlc_array_index_of_item Unexecuted instantiation: ts_streams.c:vlc_array_index_of_item Unexecuted instantiation: ts_scte.c:vlc_array_index_of_item Unexecuted instantiation: mpeg4_iod.c:vlc_array_index_of_item Unexecuted instantiation: ts_arib.c:vlc_array_index_of_item Unexecuted instantiation: ts_sl.c:vlc_array_index_of_item Unexecuted instantiation: ts_metadata.c:vlc_array_index_of_item Unexecuted instantiation: ts_hotfixes.c:vlc_array_index_of_item Unexecuted instantiation: ts_pes.c:vlc_array_index_of_item Unexecuted instantiation: matroska_segment.cpp:vlc_array_index_of_item(vlc_array_t const*, void const*) Unexecuted instantiation: chapters.cpp:vlc_array_index_of_item(vlc_array_t const*, void const*) Unexecuted instantiation: chapter_command.cpp:vlc_array_index_of_item(vlc_array_t const*, void const*) Unexecuted instantiation: dvbsub.c:vlc_array_index_of_item Unexecuted instantiation: subsusf.c:vlc_array_index_of_item Unexecuted instantiation: libvlc.c:vlc_array_index_of_item Unexecuted instantiation: media_tree.c:vlc_array_index_of_item Unexecuted instantiation: modules.c:vlc_array_index_of_item Unexecuted instantiation: entry.c:vlc_array_index_of_item Unexecuted instantiation: dialog.c:vlc_array_index_of_item Unexecuted instantiation: interface.c:vlc_array_index_of_item Unexecuted instantiation: external.c:vlc_array_index_of_item Unexecuted instantiation: item.c:vlc_array_index_of_item Unexecuted instantiation: access.c:vlc_array_index_of_item Unexecuted instantiation: demux.c:vlc_array_index_of_item Unexecuted instantiation: input.c:vlc_array_index_of_item Unexecuted instantiation: meta.c:vlc_array_index_of_item Unexecuted instantiation: player.c:vlc_array_index_of_item Unexecuted instantiation: stream.c:vlc_array_index_of_item Unexecuted instantiation: stream_extractor.c:vlc_array_index_of_item Unexecuted instantiation: stream_filter.c:vlc_array_index_of_item Unexecuted instantiation: stream_memory.c:vlc_array_index_of_item Unexecuted instantiation: subtitles.c:vlc_array_index_of_item Unexecuted instantiation: video_output.c:vlc_array_index_of_item Unexecuted instantiation: strings.c:vlc_array_index_of_item Unexecuted instantiation: epg.c:vlc_array_index_of_item Unexecuted instantiation: exit.c:vlc_array_index_of_item Unexecuted instantiation: variables.c:vlc_array_index_of_item Unexecuted instantiation: httpcookies.c:vlc_array_index_of_item Unexecuted instantiation: specific.c:vlc_array_index_of_item Unexecuted instantiation: stream_output.c:vlc_array_index_of_item Unexecuted instantiation: vlm.c:vlc_array_index_of_item Unexecuted instantiation: vlm_event.c:vlc_array_index_of_item Unexecuted instantiation: vlmshell.c:vlc_array_index_of_item Unexecuted instantiation: es_out.c:vlc_array_index_of_item Unexecuted instantiation: es_out_timeshift.c:vlc_array_index_of_item Unexecuted instantiation: parse.c:vlc_array_index_of_item Unexecuted instantiation: fetcher.c:vlc_array_index_of_item |
315 | | |
316 | | /* Write */ |
317 | | static inline int vlc_array_insert( vlc_array_t *ar, void *elem, int idx ) |
318 | 0 | { |
319 | 0 | void **pp = (void **)realloc( ar->pp_elems, |
320 | 0 | sizeof( void * ) * (ar->i_count + 1) ); |
321 | 0 | if( unlikely(pp == NULL) ) |
322 | 0 | return -1; |
323 | 0 |
|
324 | 0 | size_t tail = ar->i_count - idx; |
325 | 0 | if( tail > 0 ) |
326 | 0 | memmove( pp + idx + 1, pp + idx, sizeof( void * ) * tail ); |
327 | 0 |
|
328 | 0 | pp[idx] = elem; |
329 | 0 | ar->i_count++; |
330 | 0 | ar->pp_elems = pp; |
331 | 0 | return 0; |
332 | 0 | } Unexecuted instantiation: demux-run.c:vlc_array_insert Unexecuted instantiation: common.c:vlc_array_insert Unexecuted instantiation: decoder.c:vlc_array_insert Unexecuted instantiation: core.c:vlc_array_insert Unexecuted instantiation: error.c:vlc_array_insert Unexecuted instantiation: asf.c:vlc_array_insert Unexecuted instantiation: avi.c:vlc_array_insert Unexecuted instantiation: es.c:vlc_array_insert Unexecuted instantiation: flac.c:vlc_array_insert Unexecuted instantiation: xiph_metadata.c:vlc_array_insert Unexecuted instantiation: mp4.c:vlc_array_insert Unexecuted instantiation: heif.c:vlc_array_insert Unexecuted instantiation: sap.c:vlc_array_insert Unexecuted instantiation: subtitle.c:vlc_array_insert Unexecuted instantiation: ttml.c:vlc_array_insert Unexecuted instantiation: encttml.c:vlc_array_insert Unexecuted instantiation: substtml.c:vlc_array_insert Unexecuted instantiation: genttml.c:vlc_array_insert Unexecuted instantiation: subsvtt.c:vlc_array_insert Unexecuted instantiation: hx.c:vlc_array_insert Unexecuted instantiation: ogg.c:vlc_array_insert Unexecuted instantiation: ts.c:vlc_array_insert Unexecuted instantiation: ts_pid.c:vlc_array_insert Unexecuted instantiation: ts_psi.c:vlc_array_insert Unexecuted instantiation: ts_si.c:vlc_array_insert Unexecuted instantiation: ts_psip.c:vlc_array_insert Unexecuted instantiation: ts_streams.c:vlc_array_insert Unexecuted instantiation: ts_scte.c:vlc_array_insert Unexecuted instantiation: mpeg4_iod.c:vlc_array_insert Unexecuted instantiation: ts_arib.c:vlc_array_insert Unexecuted instantiation: ts_sl.c:vlc_array_insert Unexecuted instantiation: ts_metadata.c:vlc_array_insert Unexecuted instantiation: ts_hotfixes.c:vlc_array_insert Unexecuted instantiation: ts_pes.c:vlc_array_insert Unexecuted instantiation: matroska_segment.cpp:vlc_array_insert(vlc_array_t*, void*, int) Unexecuted instantiation: chapters.cpp:vlc_array_insert(vlc_array_t*, void*, int) Unexecuted instantiation: chapter_command.cpp:vlc_array_insert(vlc_array_t*, void*, int) Unexecuted instantiation: dvbsub.c:vlc_array_insert Unexecuted instantiation: subsusf.c:vlc_array_insert Unexecuted instantiation: libvlc.c:vlc_array_insert Unexecuted instantiation: media_tree.c:vlc_array_insert Unexecuted instantiation: modules.c:vlc_array_insert Unexecuted instantiation: entry.c:vlc_array_insert Unexecuted instantiation: dialog.c:vlc_array_insert Unexecuted instantiation: interface.c:vlc_array_insert Unexecuted instantiation: external.c:vlc_array_insert Unexecuted instantiation: item.c:vlc_array_insert Unexecuted instantiation: access.c:vlc_array_insert Unexecuted instantiation: demux.c:vlc_array_insert Unexecuted instantiation: input.c:vlc_array_insert Unexecuted instantiation: meta.c:vlc_array_insert Unexecuted instantiation: player.c:vlc_array_insert Unexecuted instantiation: stream.c:vlc_array_insert Unexecuted instantiation: stream_extractor.c:vlc_array_insert Unexecuted instantiation: stream_filter.c:vlc_array_insert Unexecuted instantiation: stream_memory.c:vlc_array_insert Unexecuted instantiation: subtitles.c:vlc_array_insert Unexecuted instantiation: video_output.c:vlc_array_insert Unexecuted instantiation: strings.c:vlc_array_insert Unexecuted instantiation: epg.c:vlc_array_insert Unexecuted instantiation: exit.c:vlc_array_insert Unexecuted instantiation: variables.c:vlc_array_insert Unexecuted instantiation: httpcookies.c:vlc_array_insert Unexecuted instantiation: specific.c:vlc_array_insert Unexecuted instantiation: stream_output.c:vlc_array_insert Unexecuted instantiation: vlm.c:vlc_array_insert Unexecuted instantiation: vlm_event.c:vlc_array_insert Unexecuted instantiation: vlmshell.c:vlc_array_insert Unexecuted instantiation: es_out.c:vlc_array_insert Unexecuted instantiation: es_out_timeshift.c:vlc_array_insert Unexecuted instantiation: parse.c:vlc_array_insert Unexecuted instantiation: fetcher.c:vlc_array_insert |
333 | | |
334 | | static inline void vlc_array_insert_or_abort( vlc_array_t *ar, void *elem, int idx ) |
335 | 0 | { |
336 | 0 | if( vlc_array_insert( ar, elem, idx ) ) |
337 | 0 | abort(); |
338 | 0 | } Unexecuted instantiation: demux-run.c:vlc_array_insert_or_abort Unexecuted instantiation: common.c:vlc_array_insert_or_abort Unexecuted instantiation: decoder.c:vlc_array_insert_or_abort Unexecuted instantiation: core.c:vlc_array_insert_or_abort Unexecuted instantiation: error.c:vlc_array_insert_or_abort Unexecuted instantiation: asf.c:vlc_array_insert_or_abort Unexecuted instantiation: avi.c:vlc_array_insert_or_abort Unexecuted instantiation: es.c:vlc_array_insert_or_abort Unexecuted instantiation: flac.c:vlc_array_insert_or_abort Unexecuted instantiation: xiph_metadata.c:vlc_array_insert_or_abort Unexecuted instantiation: mp4.c:vlc_array_insert_or_abort Unexecuted instantiation: heif.c:vlc_array_insert_or_abort Unexecuted instantiation: sap.c:vlc_array_insert_or_abort Unexecuted instantiation: subtitle.c:vlc_array_insert_or_abort Unexecuted instantiation: ttml.c:vlc_array_insert_or_abort Unexecuted instantiation: encttml.c:vlc_array_insert_or_abort Unexecuted instantiation: substtml.c:vlc_array_insert_or_abort Unexecuted instantiation: genttml.c:vlc_array_insert_or_abort Unexecuted instantiation: subsvtt.c:vlc_array_insert_or_abort Unexecuted instantiation: hx.c:vlc_array_insert_or_abort Unexecuted instantiation: ogg.c:vlc_array_insert_or_abort Unexecuted instantiation: ts.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_pid.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_psi.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_si.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_psip.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_streams.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_scte.c:vlc_array_insert_or_abort Unexecuted instantiation: mpeg4_iod.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_arib.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_sl.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_metadata.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_hotfixes.c:vlc_array_insert_or_abort Unexecuted instantiation: ts_pes.c:vlc_array_insert_or_abort Unexecuted instantiation: matroska_segment.cpp:vlc_array_insert_or_abort(vlc_array_t*, void*, int) Unexecuted instantiation: chapters.cpp:vlc_array_insert_or_abort(vlc_array_t*, void*, int) Unexecuted instantiation: chapter_command.cpp:vlc_array_insert_or_abort(vlc_array_t*, void*, int) Unexecuted instantiation: dvbsub.c:vlc_array_insert_or_abort Unexecuted instantiation: subsusf.c:vlc_array_insert_or_abort Unexecuted instantiation: libvlc.c:vlc_array_insert_or_abort Unexecuted instantiation: media_tree.c:vlc_array_insert_or_abort Unexecuted instantiation: modules.c:vlc_array_insert_or_abort Unexecuted instantiation: entry.c:vlc_array_insert_or_abort Unexecuted instantiation: dialog.c:vlc_array_insert_or_abort Unexecuted instantiation: interface.c:vlc_array_insert_or_abort Unexecuted instantiation: external.c:vlc_array_insert_or_abort Unexecuted instantiation: item.c:vlc_array_insert_or_abort Unexecuted instantiation: access.c:vlc_array_insert_or_abort Unexecuted instantiation: demux.c:vlc_array_insert_or_abort Unexecuted instantiation: input.c:vlc_array_insert_or_abort Unexecuted instantiation: meta.c:vlc_array_insert_or_abort Unexecuted instantiation: player.c:vlc_array_insert_or_abort Unexecuted instantiation: stream.c:vlc_array_insert_or_abort Unexecuted instantiation: stream_extractor.c:vlc_array_insert_or_abort Unexecuted instantiation: stream_filter.c:vlc_array_insert_or_abort Unexecuted instantiation: stream_memory.c:vlc_array_insert_or_abort Unexecuted instantiation: subtitles.c:vlc_array_insert_or_abort Unexecuted instantiation: video_output.c:vlc_array_insert_or_abort Unexecuted instantiation: strings.c:vlc_array_insert_or_abort Unexecuted instantiation: epg.c:vlc_array_insert_or_abort Unexecuted instantiation: exit.c:vlc_array_insert_or_abort Unexecuted instantiation: variables.c:vlc_array_insert_or_abort Unexecuted instantiation: httpcookies.c:vlc_array_insert_or_abort Unexecuted instantiation: specific.c:vlc_array_insert_or_abort Unexecuted instantiation: stream_output.c:vlc_array_insert_or_abort Unexecuted instantiation: vlm.c:vlc_array_insert_or_abort Unexecuted instantiation: vlm_event.c:vlc_array_insert_or_abort Unexecuted instantiation: vlmshell.c:vlc_array_insert_or_abort Unexecuted instantiation: es_out.c:vlc_array_insert_or_abort Unexecuted instantiation: es_out_timeshift.c:vlc_array_insert_or_abort Unexecuted instantiation: parse.c:vlc_array_insert_or_abort Unexecuted instantiation: fetcher.c:vlc_array_insert_or_abort |
339 | | |
340 | | static inline int vlc_array_append( vlc_array_t *ar, void *elem ) |
341 | 198k | { |
342 | 198k | void **pp = (void **)realloc( ar->pp_elems, |
343 | 198k | sizeof( void * ) * (ar->i_count + 1) ); |
344 | 198k | if( unlikely(pp == NULL) ) |
345 | 0 | return -1; |
346 | | |
347 | 198k | pp[ar->i_count++] = elem; |
348 | 198k | ar->pp_elems = pp; |
349 | 198k | return 0; |
350 | 198k | } Unexecuted instantiation: demux-run.c:vlc_array_append Unexecuted instantiation: common.c:vlc_array_append Unexecuted instantiation: decoder.c:vlc_array_append Unexecuted instantiation: core.c:vlc_array_append Unexecuted instantiation: error.c:vlc_array_append Unexecuted instantiation: asf.c:vlc_array_append Unexecuted instantiation: avi.c:vlc_array_append Unexecuted instantiation: es.c:vlc_array_append Unexecuted instantiation: flac.c:vlc_array_append Unexecuted instantiation: xiph_metadata.c:vlc_array_append Unexecuted instantiation: mp4.c:vlc_array_append Unexecuted instantiation: heif.c:vlc_array_append Unexecuted instantiation: sap.c:vlc_array_append Unexecuted instantiation: subtitle.c:vlc_array_append Unexecuted instantiation: ttml.c:vlc_array_append Unexecuted instantiation: encttml.c:vlc_array_append Unexecuted instantiation: substtml.c:vlc_array_append Unexecuted instantiation: genttml.c:vlc_array_append subsvtt.c:vlc_array_append Line | Count | Source | 341 | 198k | { | 342 | 198k | void **pp = (void **)realloc( ar->pp_elems, | 343 | 198k | sizeof( void * ) * (ar->i_count + 1) ); | 344 | 198k | if( unlikely(pp == NULL) ) | 345 | 0 | return -1; | 346 | | | 347 | 198k | pp[ar->i_count++] = elem; | 348 | 198k | ar->pp_elems = pp; | 349 | 198k | return 0; | 350 | 198k | } |
Unexecuted instantiation: hx.c:vlc_array_append Unexecuted instantiation: ogg.c:vlc_array_append Unexecuted instantiation: ts.c:vlc_array_append Unexecuted instantiation: ts_pid.c:vlc_array_append Unexecuted instantiation: ts_psi.c:vlc_array_append Unexecuted instantiation: ts_si.c:vlc_array_append Unexecuted instantiation: ts_psip.c:vlc_array_append Unexecuted instantiation: ts_streams.c:vlc_array_append Unexecuted instantiation: ts_scte.c:vlc_array_append Unexecuted instantiation: mpeg4_iod.c:vlc_array_append Unexecuted instantiation: ts_arib.c:vlc_array_append Unexecuted instantiation: ts_sl.c:vlc_array_append Unexecuted instantiation: ts_metadata.c:vlc_array_append Unexecuted instantiation: ts_hotfixes.c:vlc_array_append Unexecuted instantiation: ts_pes.c:vlc_array_append Unexecuted instantiation: matroska_segment.cpp:vlc_array_append(vlc_array_t*, void*) Unexecuted instantiation: chapters.cpp:vlc_array_append(vlc_array_t*, void*) Unexecuted instantiation: chapter_command.cpp:vlc_array_append(vlc_array_t*, void*) Unexecuted instantiation: dvbsub.c:vlc_array_append Unexecuted instantiation: subsusf.c:vlc_array_append Unexecuted instantiation: libvlc.c:vlc_array_append Unexecuted instantiation: media_tree.c:vlc_array_append Unexecuted instantiation: modules.c:vlc_array_append Unexecuted instantiation: entry.c:vlc_array_append Unexecuted instantiation: dialog.c:vlc_array_append Unexecuted instantiation: interface.c:vlc_array_append Unexecuted instantiation: external.c:vlc_array_append Unexecuted instantiation: item.c:vlc_array_append Unexecuted instantiation: access.c:vlc_array_append Unexecuted instantiation: demux.c:vlc_array_append Unexecuted instantiation: input.c:vlc_array_append Unexecuted instantiation: meta.c:vlc_array_append Unexecuted instantiation: player.c:vlc_array_append Unexecuted instantiation: stream.c:vlc_array_append Unexecuted instantiation: stream_extractor.c:vlc_array_append Unexecuted instantiation: stream_filter.c:vlc_array_append Unexecuted instantiation: stream_memory.c:vlc_array_append Unexecuted instantiation: subtitles.c:vlc_array_append Unexecuted instantiation: video_output.c:vlc_array_append Unexecuted instantiation: strings.c:vlc_array_append Unexecuted instantiation: epg.c:vlc_array_append Unexecuted instantiation: exit.c:vlc_array_append Unexecuted instantiation: variables.c:vlc_array_append Unexecuted instantiation: httpcookies.c:vlc_array_append Unexecuted instantiation: specific.c:vlc_array_append Unexecuted instantiation: stream_output.c:vlc_array_append Unexecuted instantiation: vlm.c:vlc_array_append Unexecuted instantiation: vlm_event.c:vlc_array_append Unexecuted instantiation: vlmshell.c:vlc_array_append Unexecuted instantiation: es_out.c:vlc_array_append Unexecuted instantiation: es_out_timeshift.c:vlc_array_append Unexecuted instantiation: parse.c:vlc_array_append Unexecuted instantiation: fetcher.c:vlc_array_append |
351 | | |
352 | | static inline void vlc_array_append_or_abort( vlc_array_t *ar, void *elem ) |
353 | 0 | { |
354 | 0 | if( vlc_array_append( ar, elem ) != 0 ) |
355 | 0 | abort(); |
356 | 0 | } Unexecuted instantiation: demux-run.c:vlc_array_append_or_abort Unexecuted instantiation: common.c:vlc_array_append_or_abort Unexecuted instantiation: decoder.c:vlc_array_append_or_abort Unexecuted instantiation: core.c:vlc_array_append_or_abort Unexecuted instantiation: error.c:vlc_array_append_or_abort Unexecuted instantiation: asf.c:vlc_array_append_or_abort Unexecuted instantiation: avi.c:vlc_array_append_or_abort Unexecuted instantiation: es.c:vlc_array_append_or_abort Unexecuted instantiation: flac.c:vlc_array_append_or_abort Unexecuted instantiation: xiph_metadata.c:vlc_array_append_or_abort Unexecuted instantiation: mp4.c:vlc_array_append_or_abort Unexecuted instantiation: heif.c:vlc_array_append_or_abort Unexecuted instantiation: sap.c:vlc_array_append_or_abort Unexecuted instantiation: subtitle.c:vlc_array_append_or_abort Unexecuted instantiation: ttml.c:vlc_array_append_or_abort Unexecuted instantiation: encttml.c:vlc_array_append_or_abort Unexecuted instantiation: substtml.c:vlc_array_append_or_abort Unexecuted instantiation: genttml.c:vlc_array_append_or_abort Unexecuted instantiation: subsvtt.c:vlc_array_append_or_abort Unexecuted instantiation: hx.c:vlc_array_append_or_abort Unexecuted instantiation: ogg.c:vlc_array_append_or_abort Unexecuted instantiation: ts.c:vlc_array_append_or_abort Unexecuted instantiation: ts_pid.c:vlc_array_append_or_abort Unexecuted instantiation: ts_psi.c:vlc_array_append_or_abort Unexecuted instantiation: ts_si.c:vlc_array_append_or_abort Unexecuted instantiation: ts_psip.c:vlc_array_append_or_abort Unexecuted instantiation: ts_streams.c:vlc_array_append_or_abort Unexecuted instantiation: ts_scte.c:vlc_array_append_or_abort Unexecuted instantiation: mpeg4_iod.c:vlc_array_append_or_abort Unexecuted instantiation: ts_arib.c:vlc_array_append_or_abort Unexecuted instantiation: ts_sl.c:vlc_array_append_or_abort Unexecuted instantiation: ts_metadata.c:vlc_array_append_or_abort Unexecuted instantiation: ts_hotfixes.c:vlc_array_append_or_abort Unexecuted instantiation: ts_pes.c:vlc_array_append_or_abort Unexecuted instantiation: matroska_segment.cpp:vlc_array_append_or_abort(vlc_array_t*, void*) Unexecuted instantiation: chapters.cpp:vlc_array_append_or_abort(vlc_array_t*, void*) Unexecuted instantiation: chapter_command.cpp:vlc_array_append_or_abort(vlc_array_t*, void*) Unexecuted instantiation: dvbsub.c:vlc_array_append_or_abort Unexecuted instantiation: subsusf.c:vlc_array_append_or_abort Unexecuted instantiation: libvlc.c:vlc_array_append_or_abort Unexecuted instantiation: media_tree.c:vlc_array_append_or_abort Unexecuted instantiation: modules.c:vlc_array_append_or_abort Unexecuted instantiation: entry.c:vlc_array_append_or_abort Unexecuted instantiation: dialog.c:vlc_array_append_or_abort Unexecuted instantiation: interface.c:vlc_array_append_or_abort Unexecuted instantiation: external.c:vlc_array_append_or_abort Unexecuted instantiation: item.c:vlc_array_append_or_abort Unexecuted instantiation: access.c:vlc_array_append_or_abort Unexecuted instantiation: demux.c:vlc_array_append_or_abort Unexecuted instantiation: input.c:vlc_array_append_or_abort Unexecuted instantiation: meta.c:vlc_array_append_or_abort Unexecuted instantiation: player.c:vlc_array_append_or_abort Unexecuted instantiation: stream.c:vlc_array_append_or_abort Unexecuted instantiation: stream_extractor.c:vlc_array_append_or_abort Unexecuted instantiation: stream_filter.c:vlc_array_append_or_abort Unexecuted instantiation: stream_memory.c:vlc_array_append_or_abort Unexecuted instantiation: subtitles.c:vlc_array_append_or_abort Unexecuted instantiation: video_output.c:vlc_array_append_or_abort Unexecuted instantiation: strings.c:vlc_array_append_or_abort Unexecuted instantiation: epg.c:vlc_array_append_or_abort Unexecuted instantiation: exit.c:vlc_array_append_or_abort Unexecuted instantiation: variables.c:vlc_array_append_or_abort Unexecuted instantiation: httpcookies.c:vlc_array_append_or_abort Unexecuted instantiation: specific.c:vlc_array_append_or_abort Unexecuted instantiation: stream_output.c:vlc_array_append_or_abort Unexecuted instantiation: vlm.c:vlc_array_append_or_abort Unexecuted instantiation: vlm_event.c:vlc_array_append_or_abort Unexecuted instantiation: vlmshell.c:vlc_array_append_or_abort Unexecuted instantiation: es_out.c:vlc_array_append_or_abort Unexecuted instantiation: es_out_timeshift.c:vlc_array_append_or_abort Unexecuted instantiation: parse.c:vlc_array_append_or_abort Unexecuted instantiation: fetcher.c:vlc_array_append_or_abort |
357 | | |
358 | | static inline void vlc_array_remove( vlc_array_t *ar, size_t idx ) |
359 | 51.0k | { |
360 | 51.0k | void **pp = ar->pp_elems; |
361 | 51.0k | size_t tail = ar->i_count - idx - 1; |
362 | | |
363 | 51.0k | if( tail > 0 ) |
364 | 0 | memmove( pp + idx, pp + idx + 1, sizeof( void * ) * tail ); |
365 | | |
366 | 51.0k | ar->i_count--; |
367 | | |
368 | 51.0k | if( ar->i_count > 0 ) |
369 | 3.75k | { |
370 | 3.75k | pp = (void **)realloc( pp, sizeof( void * ) * ar->i_count ); |
371 | 3.75k | if( likely(pp != NULL) ) |
372 | 3.75k | ar->pp_elems = pp; |
373 | 3.75k | } |
374 | 47.2k | else |
375 | 47.2k | { |
376 | 47.2k | free( pp ); |
377 | 47.2k | ar->pp_elems = NULL; |
378 | 47.2k | } |
379 | 51.0k | } Unexecuted instantiation: demux-run.c:vlc_array_remove Unexecuted instantiation: common.c:vlc_array_remove Unexecuted instantiation: decoder.c:vlc_array_remove Unexecuted instantiation: core.c:vlc_array_remove Unexecuted instantiation: error.c:vlc_array_remove Unexecuted instantiation: asf.c:vlc_array_remove Unexecuted instantiation: avi.c:vlc_array_remove Unexecuted instantiation: es.c:vlc_array_remove Unexecuted instantiation: flac.c:vlc_array_remove Unexecuted instantiation: xiph_metadata.c:vlc_array_remove Unexecuted instantiation: mp4.c:vlc_array_remove Unexecuted instantiation: heif.c:vlc_array_remove Unexecuted instantiation: sap.c:vlc_array_remove Unexecuted instantiation: subtitle.c:vlc_array_remove Unexecuted instantiation: ttml.c:vlc_array_remove Unexecuted instantiation: encttml.c:vlc_array_remove Unexecuted instantiation: substtml.c:vlc_array_remove Unexecuted instantiation: genttml.c:vlc_array_remove subsvtt.c:vlc_array_remove Line | Count | Source | 359 | 51.0k | { | 360 | 51.0k | void **pp = ar->pp_elems; | 361 | 51.0k | size_t tail = ar->i_count - idx - 1; | 362 | | | 363 | 51.0k | if( tail > 0 ) | 364 | 0 | memmove( pp + idx, pp + idx + 1, sizeof( void * ) * tail ); | 365 | | | 366 | 51.0k | ar->i_count--; | 367 | | | 368 | 51.0k | if( ar->i_count > 0 ) | 369 | 3.75k | { | 370 | 3.75k | pp = (void **)realloc( pp, sizeof( void * ) * ar->i_count ); | 371 | 3.75k | if( likely(pp != NULL) ) | 372 | 3.75k | ar->pp_elems = pp; | 373 | 3.75k | } | 374 | 47.2k | else | 375 | 47.2k | { | 376 | 47.2k | free( pp ); | 377 | | ar->pp_elems = NULL; | 378 | 47.2k | } | 379 | 51.0k | } |
Unexecuted instantiation: hx.c:vlc_array_remove Unexecuted instantiation: ogg.c:vlc_array_remove Unexecuted instantiation: ts.c:vlc_array_remove Unexecuted instantiation: ts_pid.c:vlc_array_remove Unexecuted instantiation: ts_psi.c:vlc_array_remove Unexecuted instantiation: ts_si.c:vlc_array_remove Unexecuted instantiation: ts_psip.c:vlc_array_remove Unexecuted instantiation: ts_streams.c:vlc_array_remove Unexecuted instantiation: ts_scte.c:vlc_array_remove Unexecuted instantiation: mpeg4_iod.c:vlc_array_remove Unexecuted instantiation: ts_arib.c:vlc_array_remove Unexecuted instantiation: ts_sl.c:vlc_array_remove Unexecuted instantiation: ts_metadata.c:vlc_array_remove Unexecuted instantiation: ts_hotfixes.c:vlc_array_remove Unexecuted instantiation: ts_pes.c:vlc_array_remove Unexecuted instantiation: matroska_segment.cpp:vlc_array_remove(vlc_array_t*, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_array_remove(vlc_array_t*, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_array_remove(vlc_array_t*, unsigned long) Unexecuted instantiation: dvbsub.c:vlc_array_remove Unexecuted instantiation: subsusf.c:vlc_array_remove Unexecuted instantiation: libvlc.c:vlc_array_remove Unexecuted instantiation: media_tree.c:vlc_array_remove Unexecuted instantiation: modules.c:vlc_array_remove Unexecuted instantiation: entry.c:vlc_array_remove Unexecuted instantiation: dialog.c:vlc_array_remove Unexecuted instantiation: interface.c:vlc_array_remove Unexecuted instantiation: external.c:vlc_array_remove Unexecuted instantiation: item.c:vlc_array_remove Unexecuted instantiation: access.c:vlc_array_remove Unexecuted instantiation: demux.c:vlc_array_remove Unexecuted instantiation: input.c:vlc_array_remove Unexecuted instantiation: meta.c:vlc_array_remove Unexecuted instantiation: player.c:vlc_array_remove Unexecuted instantiation: stream.c:vlc_array_remove Unexecuted instantiation: stream_extractor.c:vlc_array_remove Unexecuted instantiation: stream_filter.c:vlc_array_remove Unexecuted instantiation: stream_memory.c:vlc_array_remove Unexecuted instantiation: subtitles.c:vlc_array_remove Unexecuted instantiation: video_output.c:vlc_array_remove Unexecuted instantiation: strings.c:vlc_array_remove Unexecuted instantiation: epg.c:vlc_array_remove Unexecuted instantiation: exit.c:vlc_array_remove Unexecuted instantiation: variables.c:vlc_array_remove Unexecuted instantiation: httpcookies.c:vlc_array_remove Unexecuted instantiation: specific.c:vlc_array_remove Unexecuted instantiation: stream_output.c:vlc_array_remove Unexecuted instantiation: vlm.c:vlc_array_remove Unexecuted instantiation: vlm_event.c:vlc_array_remove Unexecuted instantiation: vlmshell.c:vlc_array_remove Unexecuted instantiation: es_out.c:vlc_array_remove Unexecuted instantiation: es_out_timeshift.c:vlc_array_remove Unexecuted instantiation: parse.c:vlc_array_remove Unexecuted instantiation: fetcher.c:vlc_array_remove |
380 | | |
381 | | |
382 | | /************************************************************************ |
383 | | * Dictionaries |
384 | | ************************************************************************/ |
385 | | |
386 | | /* This function is not intended to be crypto-secure, we only want it to be |
387 | | * fast and not suck too much. This one is pretty fast and did 0 collisions |
388 | | * in wenglish's dictionary. |
389 | | */ |
390 | | static inline size_t DictHash(const char *psz_string, size_t hashsize) |
391 | 9.82M | { |
392 | 9.82M | uint64_t i_hash = 0; |
393 | 9.82M | if( psz_string ) |
394 | 9.82M | { |
395 | 74.3M | while( *psz_string ) |
396 | 64.5M | { |
397 | 64.5M | i_hash += *psz_string++; |
398 | 64.5M | i_hash += i_hash << 10; |
399 | 64.5M | i_hash ^= i_hash >> 8; |
400 | 64.5M | } |
401 | 9.82M | } |
402 | 9.82M | return i_hash % hashsize; |
403 | 9.82M | } Unexecuted instantiation: demux-run.c:DictHash Unexecuted instantiation: common.c:DictHash Unexecuted instantiation: decoder.c:DictHash Unexecuted instantiation: core.c:DictHash Unexecuted instantiation: error.c:DictHash Unexecuted instantiation: asf.c:DictHash Unexecuted instantiation: avi.c:DictHash Unexecuted instantiation: es.c:DictHash Unexecuted instantiation: flac.c:DictHash Unexecuted instantiation: xiph_metadata.c:DictHash Unexecuted instantiation: mp4.c:DictHash Unexecuted instantiation: heif.c:DictHash Unexecuted instantiation: sap.c:DictHash Unexecuted instantiation: subtitle.c:DictHash Line | Count | Source | 391 | 4.96M | { | 392 | 4.96M | uint64_t i_hash = 0; | 393 | 4.96M | if( psz_string ) | 394 | 4.96M | { | 395 | 32.9M | while( *psz_string ) | 396 | 27.9M | { | 397 | 27.9M | i_hash += *psz_string++; | 398 | 27.9M | i_hash += i_hash << 10; | 399 | 27.9M | i_hash ^= i_hash >> 8; | 400 | 27.9M | } | 401 | 4.96M | } | 402 | 4.96M | return i_hash % hashsize; | 403 | 4.96M | } |
Unexecuted instantiation: encttml.c:DictHash Line | Count | Source | 391 | 4.80M | { | 392 | 4.80M | uint64_t i_hash = 0; | 393 | 4.80M | if( psz_string ) | 394 | 4.80M | { | 395 | 40.4M | while( *psz_string ) | 396 | 35.6M | { | 397 | 35.6M | i_hash += *psz_string++; | 398 | 35.6M | i_hash += i_hash << 10; | 399 | 35.6M | i_hash ^= i_hash >> 8; | 400 | 35.6M | } | 401 | 4.80M | } | 402 | 4.80M | return i_hash % hashsize; | 403 | 4.80M | } |
Unexecuted instantiation: genttml.c:DictHash Unexecuted instantiation: subsvtt.c:DictHash Unexecuted instantiation: hx.c:DictHash Unexecuted instantiation: ogg.c:DictHash Unexecuted instantiation: ts.c:DictHash Unexecuted instantiation: ts_pid.c:DictHash Unexecuted instantiation: ts_psi.c:DictHash Unexecuted instantiation: ts_si.c:DictHash Unexecuted instantiation: ts_psip.c:DictHash Unexecuted instantiation: ts_streams.c:DictHash Unexecuted instantiation: ts_scte.c:DictHash Unexecuted instantiation: mpeg4_iod.c:DictHash Unexecuted instantiation: ts_arib.c:DictHash Unexecuted instantiation: ts_sl.c:DictHash Unexecuted instantiation: ts_metadata.c:DictHash Unexecuted instantiation: ts_hotfixes.c:DictHash Unexecuted instantiation: ts_pes.c:DictHash Unexecuted instantiation: matroska_segment.cpp:DictHash(char const*, unsigned long) Unexecuted instantiation: chapters.cpp:DictHash(char const*, unsigned long) Unexecuted instantiation: chapter_command.cpp:DictHash(char const*, unsigned long) Unexecuted instantiation: dvbsub.c:DictHash Unexecuted instantiation: subsusf.c:DictHash Unexecuted instantiation: libvlc.c:DictHash Unexecuted instantiation: media_tree.c:DictHash Unexecuted instantiation: modules.c:DictHash Unexecuted instantiation: entry.c:DictHash Unexecuted instantiation: dialog.c:DictHash Unexecuted instantiation: interface.c:DictHash Unexecuted instantiation: external.c:DictHash Unexecuted instantiation: item.c:DictHash Unexecuted instantiation: access.c:DictHash Unexecuted instantiation: demux.c:DictHash Unexecuted instantiation: input.c:DictHash Line | Count | Source | 391 | 48.7k | { | 392 | 48.7k | uint64_t i_hash = 0; | 393 | 48.7k | if( psz_string ) | 394 | 48.7k | { | 395 | 967k | while( *psz_string ) | 396 | 919k | { | 397 | 919k | i_hash += *psz_string++; | 398 | 919k | i_hash += i_hash << 10; | 399 | 919k | i_hash ^= i_hash >> 8; | 400 | 919k | } | 401 | 48.7k | } | 402 | 48.7k | return i_hash % hashsize; | 403 | 48.7k | } |
Unexecuted instantiation: player.c:DictHash Unexecuted instantiation: stream.c:DictHash Unexecuted instantiation: stream_extractor.c:DictHash Unexecuted instantiation: stream_filter.c:DictHash Unexecuted instantiation: stream_memory.c:DictHash Unexecuted instantiation: subtitles.c:DictHash Unexecuted instantiation: video_output.c:DictHash Unexecuted instantiation: strings.c:DictHash Unexecuted instantiation: epg.c:DictHash Unexecuted instantiation: exit.c:DictHash Unexecuted instantiation: variables.c:DictHash Unexecuted instantiation: httpcookies.c:DictHash Unexecuted instantiation: specific.c:DictHash Unexecuted instantiation: stream_output.c:DictHash Unexecuted instantiation: vlm.c:DictHash Unexecuted instantiation: vlm_event.c:DictHash Unexecuted instantiation: vlmshell.c:DictHash Unexecuted instantiation: es_out.c:DictHash Unexecuted instantiation: es_out_timeshift.c:DictHash Unexecuted instantiation: parse.c:DictHash Unexecuted instantiation: fetcher.c:DictHash |
404 | | |
405 | | typedef struct vlc_dictionary_entry_t |
406 | | { |
407 | | char * psz_key; |
408 | | void * p_value; |
409 | | struct vlc_dictionary_entry_t * p_next; |
410 | | } vlc_dictionary_entry_t; |
411 | | |
412 | | typedef struct vlc_dictionary_t |
413 | | { |
414 | | size_t i_size; |
415 | | vlc_dictionary_entry_t ** p_entries; |
416 | | } vlc_dictionary_t; |
417 | | |
418 | | static void * const kVLCDictionaryNotFound = NULL; |
419 | | |
420 | | static inline void vlc_dictionary_init(vlc_dictionary_t * p_dict, size_t i_size) |
421 | 1.60M | { |
422 | 1.60M | p_dict->p_entries = NULL; |
423 | | |
424 | 1.60M | if( i_size > 0 ) |
425 | 830k | { |
426 | 830k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); |
427 | 830k | if( !p_dict->p_entries ) |
428 | 0 | i_size = 0; |
429 | 830k | } |
430 | 1.60M | p_dict->i_size = i_size; |
431 | 1.60M | } Unexecuted instantiation: demux-run.c:vlc_dictionary_init Unexecuted instantiation: common.c:vlc_dictionary_init Unexecuted instantiation: decoder.c:vlc_dictionary_init Unexecuted instantiation: core.c:vlc_dictionary_init Unexecuted instantiation: error.c:vlc_dictionary_init Unexecuted instantiation: asf.c:vlc_dictionary_init Unexecuted instantiation: avi.c:vlc_dictionary_init Unexecuted instantiation: es.c:vlc_dictionary_init Unexecuted instantiation: flac.c:vlc_dictionary_init Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_init Unexecuted instantiation: mp4.c:vlc_dictionary_init Unexecuted instantiation: heif.c:vlc_dictionary_init Unexecuted instantiation: sap.c:vlc_dictionary_init Unexecuted instantiation: subtitle.c:vlc_dictionary_init ttml.c:vlc_dictionary_init Line | Count | Source | 421 | 1.19M | { | 422 | 1.19M | p_dict->p_entries = NULL; | 423 | | | 424 | 1.19M | if( i_size > 0 ) | 425 | 586k | { | 426 | 586k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); | 427 | 586k | if( !p_dict->p_entries ) | 428 | 0 | i_size = 0; | 429 | 586k | } | 430 | 1.19M | p_dict->i_size = i_size; | 431 | 1.19M | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_init substtml.c:vlc_dictionary_init Line | Count | Source | 421 | 396k | { | 422 | 396k | p_dict->p_entries = NULL; | 423 | | | 424 | 396k | if( i_size > 0 ) | 425 | 243k | { | 426 | 243k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); | 427 | 243k | if( !p_dict->p_entries ) | 428 | 0 | i_size = 0; | 429 | 243k | } | 430 | 396k | p_dict->i_size = i_size; | 431 | 396k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_init Unexecuted instantiation: subsvtt.c:vlc_dictionary_init Unexecuted instantiation: hx.c:vlc_dictionary_init Unexecuted instantiation: ogg.c:vlc_dictionary_init Line | Count | Source | 421 | 4.07k | { | 422 | 4.07k | p_dict->p_entries = NULL; | 423 | | | 424 | 4.07k | if( i_size > 0 ) | 425 | 0 | { | 426 | 0 | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); | 427 | 0 | if( !p_dict->p_entries ) | 428 | 0 | i_size = 0; | 429 | 0 | } | 430 | 4.07k | p_dict->i_size = i_size; | 431 | 4.07k | } |
Unexecuted instantiation: ts_pid.c:vlc_dictionary_init Unexecuted instantiation: ts_psi.c:vlc_dictionary_init Unexecuted instantiation: ts_si.c:vlc_dictionary_init Unexecuted instantiation: ts_psip.c:vlc_dictionary_init Unexecuted instantiation: ts_streams.c:vlc_dictionary_init Unexecuted instantiation: ts_scte.c:vlc_dictionary_init Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_init Unexecuted instantiation: ts_arib.c:vlc_dictionary_init Unexecuted instantiation: ts_sl.c:vlc_dictionary_init Unexecuted instantiation: ts_metadata.c:vlc_dictionary_init Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_init Unexecuted instantiation: ts_pes.c:vlc_dictionary_init Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_init(vlc_dictionary_t*, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_dictionary_init(vlc_dictionary_t*, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_init(vlc_dictionary_t*, unsigned long) Unexecuted instantiation: dvbsub.c:vlc_dictionary_init Unexecuted instantiation: subsusf.c:vlc_dictionary_init Unexecuted instantiation: libvlc.c:vlc_dictionary_init Unexecuted instantiation: media_tree.c:vlc_dictionary_init Unexecuted instantiation: modules.c:vlc_dictionary_init Unexecuted instantiation: entry.c:vlc_dictionary_init Unexecuted instantiation: dialog.c:vlc_dictionary_init Unexecuted instantiation: interface.c:vlc_dictionary_init Unexecuted instantiation: external.c:vlc_dictionary_init Unexecuted instantiation: item.c:vlc_dictionary_init Unexecuted instantiation: access.c:vlc_dictionary_init Unexecuted instantiation: demux.c:vlc_dictionary_init Unexecuted instantiation: input.c:vlc_dictionary_init meta.c:vlc_dictionary_init Line | Count | Source | 421 | 4.92k | { | 422 | 4.92k | p_dict->p_entries = NULL; | 423 | | | 424 | 4.92k | if( i_size > 0 ) | 425 | 1.36k | { | 426 | 1.36k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); | 427 | 1.36k | if( !p_dict->p_entries ) | 428 | 0 | i_size = 0; | 429 | 1.36k | } | 430 | 4.92k | p_dict->i_size = i_size; | 431 | 4.92k | } |
Unexecuted instantiation: player.c:vlc_dictionary_init Unexecuted instantiation: stream.c:vlc_dictionary_init Unexecuted instantiation: stream_extractor.c:vlc_dictionary_init Unexecuted instantiation: stream_filter.c:vlc_dictionary_init Unexecuted instantiation: stream_memory.c:vlc_dictionary_init Unexecuted instantiation: subtitles.c:vlc_dictionary_init Unexecuted instantiation: video_output.c:vlc_dictionary_init Unexecuted instantiation: strings.c:vlc_dictionary_init Unexecuted instantiation: epg.c:vlc_dictionary_init Unexecuted instantiation: exit.c:vlc_dictionary_init Unexecuted instantiation: variables.c:vlc_dictionary_init Unexecuted instantiation: httpcookies.c:vlc_dictionary_init Unexecuted instantiation: specific.c:vlc_dictionary_init Unexecuted instantiation: stream_output.c:vlc_dictionary_init Unexecuted instantiation: vlm.c:vlc_dictionary_init Unexecuted instantiation: vlm_event.c:vlc_dictionary_init Unexecuted instantiation: vlmshell.c:vlc_dictionary_init Unexecuted instantiation: es_out.c:vlc_dictionary_init Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_init Unexecuted instantiation: parse.c:vlc_dictionary_init Unexecuted instantiation: fetcher.c:vlc_dictionary_init |
432 | | |
433 | | static inline void vlc_dictionary_clear( vlc_dictionary_t * p_dict, |
434 | | void ( * pf_free )( void * p_data, void * p_obj ), |
435 | | void * p_obj ) |
436 | 978k | { |
437 | 978k | if( p_dict->p_entries ) |
438 | 830k | { |
439 | 2.89M | for (size_t i = 0; i < p_dict->i_size; i++) |
440 | 2.06M | { |
441 | 2.06M | vlc_dictionary_entry_t * p_current, * p_next; |
442 | 2.06M | p_current = p_dict->p_entries[i]; |
443 | 5.05M | while( p_current ) |
444 | 2.99M | { |
445 | 2.99M | p_next = p_current->p_next; |
446 | 2.99M | if( pf_free != NULL ) |
447 | 1.00M | ( * pf_free )( p_current->p_value, p_obj ); |
448 | 2.99M | free( p_current->psz_key ); |
449 | 2.99M | free( p_current ); |
450 | 2.99M | p_current = p_next; |
451 | 2.99M | } |
452 | 2.06M | } |
453 | 830k | free( p_dict->p_entries ); |
454 | 830k | p_dict->p_entries = NULL; |
455 | 830k | } |
456 | 978k | p_dict->i_size = 0; |
457 | 978k | } Unexecuted instantiation: demux-run.c:vlc_dictionary_clear Unexecuted instantiation: common.c:vlc_dictionary_clear Unexecuted instantiation: decoder.c:vlc_dictionary_clear Unexecuted instantiation: core.c:vlc_dictionary_clear Unexecuted instantiation: error.c:vlc_dictionary_clear Unexecuted instantiation: asf.c:vlc_dictionary_clear Unexecuted instantiation: avi.c:vlc_dictionary_clear Unexecuted instantiation: es.c:vlc_dictionary_clear Unexecuted instantiation: flac.c:vlc_dictionary_clear Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_clear Unexecuted instantiation: mp4.c:vlc_dictionary_clear Unexecuted instantiation: heif.c:vlc_dictionary_clear Unexecuted instantiation: sap.c:vlc_dictionary_clear Unexecuted instantiation: subtitle.c:vlc_dictionary_clear ttml.c:vlc_dictionary_clear Line | Count | Source | 436 | 671k | { | 437 | 671k | if( p_dict->p_entries ) | 438 | 586k | { | 439 | 1.62M | for (size_t i = 0; i < p_dict->i_size; i++) | 440 | 1.03M | { | 441 | 1.03M | vlc_dictionary_entry_t * p_current, * p_next; | 442 | 1.03M | p_current = p_dict->p_entries[i]; | 443 | 2.29M | while( p_current ) | 444 | 1.25M | { | 445 | 1.25M | p_next = p_current->p_next; | 446 | 1.25M | if( pf_free != NULL ) | 447 | 1.00M | ( * pf_free )( p_current->p_value, p_obj ); | 448 | 1.25M | free( p_current->psz_key ); | 449 | 1.25M | free( p_current ); | 450 | 1.25M | p_current = p_next; | 451 | 1.25M | } | 452 | 1.03M | } | 453 | 586k | free( p_dict->p_entries ); | 454 | | p_dict->p_entries = NULL; | 455 | 586k | } | 456 | 671k | p_dict->i_size = 0; | 457 | 671k | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_clear substtml.c:vlc_dictionary_clear Line | Count | Source | 436 | 298k | { | 437 | 298k | if( p_dict->p_entries ) | 438 | 243k | { | 439 | 1.26M | for (size_t i = 0; i < p_dict->i_size; i++) | 440 | 1.02M | { | 441 | 1.02M | vlc_dictionary_entry_t * p_current, * p_next; | 442 | 1.02M | p_current = p_dict->p_entries[i]; | 443 | 2.75M | while( p_current ) | 444 | 1.73M | { | 445 | 1.73M | p_next = p_current->p_next; | 446 | 1.73M | if( pf_free != NULL ) | 447 | 0 | ( * pf_free )( p_current->p_value, p_obj ); | 448 | 1.73M | free( p_current->psz_key ); | 449 | 1.73M | free( p_current ); | 450 | 1.73M | p_current = p_next; | 451 | 1.73M | } | 452 | 1.02M | } | 453 | 243k | free( p_dict->p_entries ); | 454 | | p_dict->p_entries = NULL; | 455 | 243k | } | 456 | 298k | p_dict->i_size = 0; | 457 | 298k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_clear Unexecuted instantiation: subsvtt.c:vlc_dictionary_clear Unexecuted instantiation: hx.c:vlc_dictionary_clear Unexecuted instantiation: ogg.c:vlc_dictionary_clear ts.c:vlc_dictionary_clear Line | Count | Source | 436 | 4.07k | { | 437 | 4.07k | if( p_dict->p_entries ) | 438 | 0 | { | 439 | 0 | for (size_t i = 0; i < p_dict->i_size; i++) | 440 | 0 | { | 441 | 0 | vlc_dictionary_entry_t * p_current, * p_next; | 442 | 0 | p_current = p_dict->p_entries[i]; | 443 | 0 | while( p_current ) | 444 | 0 | { | 445 | 0 | p_next = p_current->p_next; | 446 | 0 | if( pf_free != NULL ) | 447 | 0 | ( * pf_free )( p_current->p_value, p_obj ); | 448 | 0 | free( p_current->psz_key ); | 449 | 0 | free( p_current ); | 450 | 0 | p_current = p_next; | 451 | 0 | } | 452 | 0 | } | 453 | 0 | free( p_dict->p_entries ); | 454 | | p_dict->p_entries = NULL; | 455 | 0 | } | 456 | 4.07k | p_dict->i_size = 0; | 457 | 4.07k | } |
Unexecuted instantiation: ts_pid.c:vlc_dictionary_clear Unexecuted instantiation: ts_psi.c:vlc_dictionary_clear Unexecuted instantiation: ts_si.c:vlc_dictionary_clear Unexecuted instantiation: ts_psip.c:vlc_dictionary_clear Unexecuted instantiation: ts_streams.c:vlc_dictionary_clear Unexecuted instantiation: ts_scte.c:vlc_dictionary_clear Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_clear Unexecuted instantiation: ts_arib.c:vlc_dictionary_clear Unexecuted instantiation: ts_sl.c:vlc_dictionary_clear Unexecuted instantiation: ts_metadata.c:vlc_dictionary_clear Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_clear Unexecuted instantiation: ts_pes.c:vlc_dictionary_clear Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_clear(vlc_dictionary_t*, void (*)(void*, void*), void*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_clear(vlc_dictionary_t*, void (*)(void*, void*), void*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_clear(vlc_dictionary_t*, void (*)(void*, void*), void*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_clear Unexecuted instantiation: subsusf.c:vlc_dictionary_clear Unexecuted instantiation: libvlc.c:vlc_dictionary_clear Unexecuted instantiation: media_tree.c:vlc_dictionary_clear Unexecuted instantiation: modules.c:vlc_dictionary_clear Unexecuted instantiation: entry.c:vlc_dictionary_clear Unexecuted instantiation: dialog.c:vlc_dictionary_clear Unexecuted instantiation: interface.c:vlc_dictionary_clear Unexecuted instantiation: external.c:vlc_dictionary_clear Unexecuted instantiation: item.c:vlc_dictionary_clear Unexecuted instantiation: access.c:vlc_dictionary_clear Unexecuted instantiation: demux.c:vlc_dictionary_clear Unexecuted instantiation: input.c:vlc_dictionary_clear meta.c:vlc_dictionary_clear Line | Count | Source | 436 | 3.58k | { | 437 | 3.58k | if( p_dict->p_entries ) | 438 | 1.36k | { | 439 | 3.57k | for (size_t i = 0; i < p_dict->i_size; i++) | 440 | 2.21k | { | 441 | 2.21k | vlc_dictionary_entry_t * p_current, * p_next; | 442 | 2.21k | p_current = p_dict->p_entries[i]; | 443 | 4.21k | while( p_current ) | 444 | 2.00k | { | 445 | 2.00k | p_next = p_current->p_next; | 446 | 2.00k | if( pf_free != NULL ) | 447 | 1.63k | ( * pf_free )( p_current->p_value, p_obj ); | 448 | 2.00k | free( p_current->psz_key ); | 449 | 2.00k | free( p_current ); | 450 | 2.00k | p_current = p_next; | 451 | 2.00k | } | 452 | 2.21k | } | 453 | 1.36k | free( p_dict->p_entries ); | 454 | | p_dict->p_entries = NULL; | 455 | 1.36k | } | 456 | 3.58k | p_dict->i_size = 0; | 457 | 3.58k | } |
Unexecuted instantiation: player.c:vlc_dictionary_clear Unexecuted instantiation: stream.c:vlc_dictionary_clear Unexecuted instantiation: stream_extractor.c:vlc_dictionary_clear Unexecuted instantiation: stream_filter.c:vlc_dictionary_clear Unexecuted instantiation: stream_memory.c:vlc_dictionary_clear Unexecuted instantiation: subtitles.c:vlc_dictionary_clear Unexecuted instantiation: video_output.c:vlc_dictionary_clear Unexecuted instantiation: strings.c:vlc_dictionary_clear Unexecuted instantiation: epg.c:vlc_dictionary_clear Unexecuted instantiation: exit.c:vlc_dictionary_clear Unexecuted instantiation: variables.c:vlc_dictionary_clear Unexecuted instantiation: httpcookies.c:vlc_dictionary_clear Unexecuted instantiation: specific.c:vlc_dictionary_clear Unexecuted instantiation: stream_output.c:vlc_dictionary_clear Unexecuted instantiation: vlm.c:vlc_dictionary_clear Unexecuted instantiation: vlm_event.c:vlc_dictionary_clear Unexecuted instantiation: vlmshell.c:vlc_dictionary_clear Unexecuted instantiation: es_out.c:vlc_dictionary_clear Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_clear Unexecuted instantiation: parse.c:vlc_dictionary_clear Unexecuted instantiation: fetcher.c:vlc_dictionary_clear |
458 | | |
459 | | static inline int |
460 | | vlc_dictionary_has_key( const vlc_dictionary_t * p_dict, const char * psz_key ) |
461 | 3.13M | { |
462 | 3.13M | if( !p_dict->p_entries ) |
463 | 98.2k | return 0; |
464 | | |
465 | 3.03M | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
466 | 3.03M | const vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; |
467 | 4.92M | for( ; p_entry != NULL; p_entry = p_entry->p_next ) |
468 | 4.20M | { |
469 | 4.20M | if( !strcmp( psz_key, p_entry->psz_key ) ) |
470 | 2.30M | break; |
471 | 4.20M | } |
472 | 3.03M | return p_entry != NULL; |
473 | 3.13M | } Unexecuted instantiation: demux-run.c:vlc_dictionary_has_key Unexecuted instantiation: common.c:vlc_dictionary_has_key Unexecuted instantiation: decoder.c:vlc_dictionary_has_key Unexecuted instantiation: core.c:vlc_dictionary_has_key Unexecuted instantiation: error.c:vlc_dictionary_has_key Unexecuted instantiation: asf.c:vlc_dictionary_has_key Unexecuted instantiation: avi.c:vlc_dictionary_has_key Unexecuted instantiation: es.c:vlc_dictionary_has_key Unexecuted instantiation: flac.c:vlc_dictionary_has_key Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_has_key Unexecuted instantiation: mp4.c:vlc_dictionary_has_key Unexecuted instantiation: heif.c:vlc_dictionary_has_key Unexecuted instantiation: sap.c:vlc_dictionary_has_key Unexecuted instantiation: subtitle.c:vlc_dictionary_has_key Unexecuted instantiation: ttml.c:vlc_dictionary_has_key Unexecuted instantiation: encttml.c:vlc_dictionary_has_key substtml.c:vlc_dictionary_has_key Line | Count | Source | 461 | 3.13M | { | 462 | 3.13M | if( !p_dict->p_entries ) | 463 | 98.2k | return 0; | 464 | | | 465 | 3.03M | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 466 | 3.03M | const vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 467 | 4.92M | for( ; p_entry != NULL; p_entry = p_entry->p_next ) | 468 | 4.20M | { | 469 | 4.20M | if( !strcmp( psz_key, p_entry->psz_key ) ) | 470 | 2.30M | break; | 471 | 4.20M | } | 472 | | return p_entry != NULL; | 473 | 3.13M | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_has_key Unexecuted instantiation: subsvtt.c:vlc_dictionary_has_key Unexecuted instantiation: hx.c:vlc_dictionary_has_key Unexecuted instantiation: ogg.c:vlc_dictionary_has_key Unexecuted instantiation: ts.c:vlc_dictionary_has_key Unexecuted instantiation: ts_pid.c:vlc_dictionary_has_key Unexecuted instantiation: ts_psi.c:vlc_dictionary_has_key Unexecuted instantiation: ts_si.c:vlc_dictionary_has_key Unexecuted instantiation: ts_psip.c:vlc_dictionary_has_key Unexecuted instantiation: ts_streams.c:vlc_dictionary_has_key Unexecuted instantiation: ts_scte.c:vlc_dictionary_has_key Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_has_key Unexecuted instantiation: ts_arib.c:vlc_dictionary_has_key Unexecuted instantiation: ts_sl.c:vlc_dictionary_has_key Unexecuted instantiation: ts_metadata.c:vlc_dictionary_has_key Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_has_key Unexecuted instantiation: ts_pes.c:vlc_dictionary_has_key Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_has_key(vlc_dictionary_t const*, char const*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_has_key(vlc_dictionary_t const*, char const*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_has_key(vlc_dictionary_t const*, char const*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_has_key Unexecuted instantiation: subsusf.c:vlc_dictionary_has_key Unexecuted instantiation: libvlc.c:vlc_dictionary_has_key Unexecuted instantiation: media_tree.c:vlc_dictionary_has_key Unexecuted instantiation: modules.c:vlc_dictionary_has_key Unexecuted instantiation: entry.c:vlc_dictionary_has_key Unexecuted instantiation: dialog.c:vlc_dictionary_has_key Unexecuted instantiation: interface.c:vlc_dictionary_has_key Unexecuted instantiation: external.c:vlc_dictionary_has_key Unexecuted instantiation: item.c:vlc_dictionary_has_key Unexecuted instantiation: access.c:vlc_dictionary_has_key Unexecuted instantiation: demux.c:vlc_dictionary_has_key Unexecuted instantiation: input.c:vlc_dictionary_has_key Unexecuted instantiation: meta.c:vlc_dictionary_has_key Unexecuted instantiation: player.c:vlc_dictionary_has_key Unexecuted instantiation: stream.c:vlc_dictionary_has_key Unexecuted instantiation: stream_extractor.c:vlc_dictionary_has_key Unexecuted instantiation: stream_filter.c:vlc_dictionary_has_key Unexecuted instantiation: stream_memory.c:vlc_dictionary_has_key Unexecuted instantiation: subtitles.c:vlc_dictionary_has_key Unexecuted instantiation: video_output.c:vlc_dictionary_has_key Unexecuted instantiation: strings.c:vlc_dictionary_has_key Unexecuted instantiation: epg.c:vlc_dictionary_has_key Unexecuted instantiation: exit.c:vlc_dictionary_has_key Unexecuted instantiation: variables.c:vlc_dictionary_has_key Unexecuted instantiation: httpcookies.c:vlc_dictionary_has_key Unexecuted instantiation: specific.c:vlc_dictionary_has_key Unexecuted instantiation: stream_output.c:vlc_dictionary_has_key Unexecuted instantiation: vlm.c:vlc_dictionary_has_key Unexecuted instantiation: vlm_event.c:vlc_dictionary_has_key Unexecuted instantiation: vlmshell.c:vlc_dictionary_has_key Unexecuted instantiation: es_out.c:vlc_dictionary_has_key Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_has_key Unexecuted instantiation: parse.c:vlc_dictionary_has_key Unexecuted instantiation: fetcher.c:vlc_dictionary_has_key |
474 | | |
475 | | static inline void * |
476 | | vlc_dictionary_value_for_key( const vlc_dictionary_t * p_dict, const char * psz_key ) |
477 | 4.32M | { |
478 | 4.32M | if( !p_dict->p_entries ) |
479 | 535k | return kVLCDictionaryNotFound; |
480 | | |
481 | 3.78M | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
482 | 3.78M | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; |
483 | | |
484 | 3.78M | if( !p_entry ) |
485 | 60.0k | return kVLCDictionaryNotFound; |
486 | | |
487 | | /* Make sure we return the right item. (Hash collision) */ |
488 | 6.16M | do { |
489 | 6.16M | if( !strcmp( psz_key, p_entry->psz_key ) ) |
490 | 379k | return p_entry->p_value; |
491 | 5.78M | p_entry = p_entry->p_next; |
492 | 5.78M | } while( p_entry ); |
493 | | |
494 | 3.34M | return kVLCDictionaryNotFound; |
495 | 3.72M | } Unexecuted instantiation: demux-run.c:vlc_dictionary_value_for_key Unexecuted instantiation: common.c:vlc_dictionary_value_for_key Unexecuted instantiation: decoder.c:vlc_dictionary_value_for_key Unexecuted instantiation: core.c:vlc_dictionary_value_for_key Unexecuted instantiation: error.c:vlc_dictionary_value_for_key Unexecuted instantiation: asf.c:vlc_dictionary_value_for_key Unexecuted instantiation: avi.c:vlc_dictionary_value_for_key Unexecuted instantiation: es.c:vlc_dictionary_value_for_key Unexecuted instantiation: flac.c:vlc_dictionary_value_for_key Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_value_for_key Unexecuted instantiation: mp4.c:vlc_dictionary_value_for_key Unexecuted instantiation: heif.c:vlc_dictionary_value_for_key Unexecuted instantiation: sap.c:vlc_dictionary_value_for_key Unexecuted instantiation: subtitle.c:vlc_dictionary_value_for_key ttml.c:vlc_dictionary_value_for_key Line | Count | Source | 477 | 4.21M | { | 478 | 4.21M | if( !p_dict->p_entries ) | 479 | 504k | return kVLCDictionaryNotFound; | 480 | | | 481 | 3.71M | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 482 | 3.71M | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 483 | | | 484 | 3.71M | if( !p_entry ) | 485 | 45.7k | return kVLCDictionaryNotFound; | 486 | | | 487 | | /* Make sure we return the right item. (Hash collision) */ | 488 | 6.07M | do { | 489 | 6.07M | if( !strcmp( psz_key, p_entry->psz_key ) ) | 490 | 372k | return p_entry->p_value; | 491 | 5.70M | p_entry = p_entry->p_next; | 492 | 5.70M | } while( p_entry ); | 493 | | | 494 | 3.29M | return kVLCDictionaryNotFound; | 495 | 3.66M | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_value_for_key substtml.c:vlc_dictionary_value_for_key Line | Count | Source | 477 | 31.5k | { | 478 | 31.5k | if( !p_dict->p_entries ) | 479 | 0 | return kVLCDictionaryNotFound; | 480 | | | 481 | 31.5k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 482 | 31.5k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 483 | | | 484 | 31.5k | if( !p_entry ) | 485 | 13.0k | return kVLCDictionaryNotFound; | 486 | | | 487 | | /* Make sure we return the right item. (Hash collision) */ | 488 | 27.9k | do { | 489 | 27.9k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 490 | 5.17k | return p_entry->p_value; | 491 | 22.7k | p_entry = p_entry->p_next; | 492 | 22.7k | } while( p_entry ); | 493 | | | 494 | 13.3k | return kVLCDictionaryNotFound; | 495 | 18.5k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_value_for_key Unexecuted instantiation: subsvtt.c:vlc_dictionary_value_for_key Unexecuted instantiation: hx.c:vlc_dictionary_value_for_key Unexecuted instantiation: ogg.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_pid.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_psi.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_si.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_psip.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_streams.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_scte.c:vlc_dictionary_value_for_key Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_arib.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_sl.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_metadata.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_value_for_key Unexecuted instantiation: ts_pes.c:vlc_dictionary_value_for_key Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_value_for_key(vlc_dictionary_t const*, char const*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_value_for_key(vlc_dictionary_t const*, char const*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_value_for_key(vlc_dictionary_t const*, char const*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_value_for_key Unexecuted instantiation: subsusf.c:vlc_dictionary_value_for_key Unexecuted instantiation: libvlc.c:vlc_dictionary_value_for_key Unexecuted instantiation: media_tree.c:vlc_dictionary_value_for_key Unexecuted instantiation: modules.c:vlc_dictionary_value_for_key Unexecuted instantiation: entry.c:vlc_dictionary_value_for_key Unexecuted instantiation: dialog.c:vlc_dictionary_value_for_key Unexecuted instantiation: interface.c:vlc_dictionary_value_for_key Unexecuted instantiation: external.c:vlc_dictionary_value_for_key Unexecuted instantiation: item.c:vlc_dictionary_value_for_key Unexecuted instantiation: access.c:vlc_dictionary_value_for_key Unexecuted instantiation: demux.c:vlc_dictionary_value_for_key Unexecuted instantiation: input.c:vlc_dictionary_value_for_key meta.c:vlc_dictionary_value_for_key Line | Count | Source | 477 | 73.7k | { | 478 | 73.7k | if( !p_dict->p_entries ) | 479 | 30.8k | return kVLCDictionaryNotFound; | 480 | | | 481 | 42.8k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 482 | 42.8k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 483 | | | 484 | 42.8k | if( !p_entry ) | 485 | 1.27k | return kVLCDictionaryNotFound; | 486 | | | 487 | | /* Make sure we return the right item. (Hash collision) */ | 488 | 63.3k | do { | 489 | 63.3k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 490 | 1.94k | return p_entry->p_value; | 491 | 61.4k | p_entry = p_entry->p_next; | 492 | 61.4k | } while( p_entry ); | 493 | | | 494 | 39.6k | return kVLCDictionaryNotFound; | 495 | 41.5k | } |
Unexecuted instantiation: player.c:vlc_dictionary_value_for_key Unexecuted instantiation: stream.c:vlc_dictionary_value_for_key Unexecuted instantiation: stream_extractor.c:vlc_dictionary_value_for_key Unexecuted instantiation: stream_filter.c:vlc_dictionary_value_for_key Unexecuted instantiation: stream_memory.c:vlc_dictionary_value_for_key Unexecuted instantiation: subtitles.c:vlc_dictionary_value_for_key Unexecuted instantiation: video_output.c:vlc_dictionary_value_for_key Unexecuted instantiation: strings.c:vlc_dictionary_value_for_key Unexecuted instantiation: epg.c:vlc_dictionary_value_for_key Unexecuted instantiation: exit.c:vlc_dictionary_value_for_key Unexecuted instantiation: variables.c:vlc_dictionary_value_for_key Unexecuted instantiation: httpcookies.c:vlc_dictionary_value_for_key Unexecuted instantiation: specific.c:vlc_dictionary_value_for_key Unexecuted instantiation: stream_output.c:vlc_dictionary_value_for_key Unexecuted instantiation: vlm.c:vlc_dictionary_value_for_key Unexecuted instantiation: vlm_event.c:vlc_dictionary_value_for_key Unexecuted instantiation: vlmshell.c:vlc_dictionary_value_for_key Unexecuted instantiation: es_out.c:vlc_dictionary_value_for_key Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_value_for_key Unexecuted instantiation: parse.c:vlc_dictionary_value_for_key Unexecuted instantiation: fetcher.c:vlc_dictionary_value_for_key |
496 | | |
497 | | static inline size_t |
498 | | vlc_dictionary_keys_count( const vlc_dictionary_t * p_dict ) |
499 | 11 | { |
500 | 11 | vlc_dictionary_entry_t * p_entry; |
501 | 11 | size_t i, count = 0; |
502 | | |
503 | 11 | if( !p_dict->p_entries ) |
504 | 1 | return 0; |
505 | | |
506 | 20 | for( i = 0; i < p_dict->i_size; i++ ) |
507 | 10 | { |
508 | 20 | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) count++; |
509 | 10 | } |
510 | 10 | return count; |
511 | 11 | } Unexecuted instantiation: demux-run.c:vlc_dictionary_keys_count Unexecuted instantiation: common.c:vlc_dictionary_keys_count Unexecuted instantiation: decoder.c:vlc_dictionary_keys_count Unexecuted instantiation: core.c:vlc_dictionary_keys_count Unexecuted instantiation: error.c:vlc_dictionary_keys_count Unexecuted instantiation: asf.c:vlc_dictionary_keys_count Unexecuted instantiation: avi.c:vlc_dictionary_keys_count Unexecuted instantiation: es.c:vlc_dictionary_keys_count Unexecuted instantiation: flac.c:vlc_dictionary_keys_count Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_keys_count Unexecuted instantiation: mp4.c:vlc_dictionary_keys_count Unexecuted instantiation: heif.c:vlc_dictionary_keys_count Unexecuted instantiation: sap.c:vlc_dictionary_keys_count Unexecuted instantiation: subtitle.c:vlc_dictionary_keys_count Unexecuted instantiation: ttml.c:vlc_dictionary_keys_count Unexecuted instantiation: encttml.c:vlc_dictionary_keys_count Unexecuted instantiation: substtml.c:vlc_dictionary_keys_count Unexecuted instantiation: genttml.c:vlc_dictionary_keys_count Unexecuted instantiation: subsvtt.c:vlc_dictionary_keys_count Unexecuted instantiation: hx.c:vlc_dictionary_keys_count Unexecuted instantiation: ogg.c:vlc_dictionary_keys_count Unexecuted instantiation: ts.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_pid.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_psi.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_si.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_psip.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_streams.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_scte.c:vlc_dictionary_keys_count Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_arib.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_sl.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_metadata.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_keys_count Unexecuted instantiation: ts_pes.c:vlc_dictionary_keys_count Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_keys_count(vlc_dictionary_t const*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_keys_count(vlc_dictionary_t const*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_keys_count(vlc_dictionary_t const*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_keys_count Unexecuted instantiation: subsusf.c:vlc_dictionary_keys_count Unexecuted instantiation: libvlc.c:vlc_dictionary_keys_count Unexecuted instantiation: media_tree.c:vlc_dictionary_keys_count Unexecuted instantiation: modules.c:vlc_dictionary_keys_count Unexecuted instantiation: entry.c:vlc_dictionary_keys_count Unexecuted instantiation: dialog.c:vlc_dictionary_keys_count Unexecuted instantiation: interface.c:vlc_dictionary_keys_count Unexecuted instantiation: external.c:vlc_dictionary_keys_count Unexecuted instantiation: item.c:vlc_dictionary_keys_count Unexecuted instantiation: access.c:vlc_dictionary_keys_count Unexecuted instantiation: demux.c:vlc_dictionary_keys_count Unexecuted instantiation: input.c:vlc_dictionary_keys_count meta.c:vlc_dictionary_keys_count Line | Count | Source | 499 | 11 | { | 500 | 11 | vlc_dictionary_entry_t * p_entry; | 501 | 11 | size_t i, count = 0; | 502 | | | 503 | 11 | if( !p_dict->p_entries ) | 504 | 1 | return 0; | 505 | | | 506 | 20 | for( i = 0; i < p_dict->i_size; i++ ) | 507 | 10 | { | 508 | 20 | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) count++; | 509 | 10 | } | 510 | 10 | return count; | 511 | 11 | } |
Unexecuted instantiation: player.c:vlc_dictionary_keys_count Unexecuted instantiation: stream.c:vlc_dictionary_keys_count Unexecuted instantiation: stream_extractor.c:vlc_dictionary_keys_count Unexecuted instantiation: stream_filter.c:vlc_dictionary_keys_count Unexecuted instantiation: stream_memory.c:vlc_dictionary_keys_count Unexecuted instantiation: subtitles.c:vlc_dictionary_keys_count Unexecuted instantiation: video_output.c:vlc_dictionary_keys_count Unexecuted instantiation: strings.c:vlc_dictionary_keys_count Unexecuted instantiation: epg.c:vlc_dictionary_keys_count Unexecuted instantiation: exit.c:vlc_dictionary_keys_count Unexecuted instantiation: variables.c:vlc_dictionary_keys_count Unexecuted instantiation: httpcookies.c:vlc_dictionary_keys_count Unexecuted instantiation: specific.c:vlc_dictionary_keys_count Unexecuted instantiation: stream_output.c:vlc_dictionary_keys_count Unexecuted instantiation: vlm.c:vlc_dictionary_keys_count Unexecuted instantiation: vlm_event.c:vlc_dictionary_keys_count Unexecuted instantiation: vlmshell.c:vlc_dictionary_keys_count Unexecuted instantiation: es_out.c:vlc_dictionary_keys_count Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_keys_count Unexecuted instantiation: parse.c:vlc_dictionary_keys_count Unexecuted instantiation: fetcher.c:vlc_dictionary_keys_count |
512 | | |
513 | | static inline bool |
514 | | vlc_dictionary_is_empty( const vlc_dictionary_t * p_dict ) |
515 | 132k | { |
516 | 132k | if( p_dict->p_entries ) |
517 | 131k | for (size_t i = 0; i < p_dict->i_size; i++) |
518 | 131k | if( p_dict->p_entries[i] ) |
519 | 92.1k | return false; |
520 | 40.8k | return true; |
521 | 132k | } Unexecuted instantiation: demux-run.c:vlc_dictionary_is_empty Unexecuted instantiation: common.c:vlc_dictionary_is_empty Unexecuted instantiation: decoder.c:vlc_dictionary_is_empty Unexecuted instantiation: core.c:vlc_dictionary_is_empty Unexecuted instantiation: error.c:vlc_dictionary_is_empty Unexecuted instantiation: asf.c:vlc_dictionary_is_empty Unexecuted instantiation: avi.c:vlc_dictionary_is_empty Unexecuted instantiation: es.c:vlc_dictionary_is_empty Unexecuted instantiation: flac.c:vlc_dictionary_is_empty Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_is_empty Unexecuted instantiation: mp4.c:vlc_dictionary_is_empty Unexecuted instantiation: heif.c:vlc_dictionary_is_empty Unexecuted instantiation: sap.c:vlc_dictionary_is_empty Unexecuted instantiation: subtitle.c:vlc_dictionary_is_empty Unexecuted instantiation: ttml.c:vlc_dictionary_is_empty Unexecuted instantiation: encttml.c:vlc_dictionary_is_empty substtml.c:vlc_dictionary_is_empty Line | Count | Source | 515 | 132k | { | 516 | 132k | if( p_dict->p_entries ) | 517 | 131k | for (size_t i = 0; i < p_dict->i_size; i++) | 518 | 131k | if( p_dict->p_entries[i] ) | 519 | 92.1k | return false; | 520 | 40.8k | return true; | 521 | 132k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_is_empty Unexecuted instantiation: subsvtt.c:vlc_dictionary_is_empty Unexecuted instantiation: hx.c:vlc_dictionary_is_empty Unexecuted instantiation: ogg.c:vlc_dictionary_is_empty Unexecuted instantiation: ts.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_pid.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_psi.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_si.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_psip.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_streams.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_scte.c:vlc_dictionary_is_empty Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_arib.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_sl.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_metadata.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_is_empty Unexecuted instantiation: ts_pes.c:vlc_dictionary_is_empty Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_is_empty(vlc_dictionary_t const*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_is_empty(vlc_dictionary_t const*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_is_empty(vlc_dictionary_t const*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_is_empty Unexecuted instantiation: subsusf.c:vlc_dictionary_is_empty Unexecuted instantiation: libvlc.c:vlc_dictionary_is_empty Unexecuted instantiation: media_tree.c:vlc_dictionary_is_empty Unexecuted instantiation: modules.c:vlc_dictionary_is_empty Unexecuted instantiation: entry.c:vlc_dictionary_is_empty Unexecuted instantiation: dialog.c:vlc_dictionary_is_empty Unexecuted instantiation: interface.c:vlc_dictionary_is_empty Unexecuted instantiation: external.c:vlc_dictionary_is_empty Unexecuted instantiation: item.c:vlc_dictionary_is_empty Unexecuted instantiation: access.c:vlc_dictionary_is_empty Unexecuted instantiation: demux.c:vlc_dictionary_is_empty Unexecuted instantiation: input.c:vlc_dictionary_is_empty Unexecuted instantiation: meta.c:vlc_dictionary_is_empty Unexecuted instantiation: player.c:vlc_dictionary_is_empty Unexecuted instantiation: stream.c:vlc_dictionary_is_empty Unexecuted instantiation: stream_extractor.c:vlc_dictionary_is_empty Unexecuted instantiation: stream_filter.c:vlc_dictionary_is_empty Unexecuted instantiation: stream_memory.c:vlc_dictionary_is_empty Unexecuted instantiation: subtitles.c:vlc_dictionary_is_empty Unexecuted instantiation: video_output.c:vlc_dictionary_is_empty Unexecuted instantiation: strings.c:vlc_dictionary_is_empty Unexecuted instantiation: epg.c:vlc_dictionary_is_empty Unexecuted instantiation: exit.c:vlc_dictionary_is_empty Unexecuted instantiation: variables.c:vlc_dictionary_is_empty Unexecuted instantiation: httpcookies.c:vlc_dictionary_is_empty Unexecuted instantiation: specific.c:vlc_dictionary_is_empty Unexecuted instantiation: stream_output.c:vlc_dictionary_is_empty Unexecuted instantiation: vlm.c:vlc_dictionary_is_empty Unexecuted instantiation: vlm_event.c:vlc_dictionary_is_empty Unexecuted instantiation: vlmshell.c:vlc_dictionary_is_empty Unexecuted instantiation: es_out.c:vlc_dictionary_is_empty Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_is_empty Unexecuted instantiation: parse.c:vlc_dictionary_is_empty Unexecuted instantiation: fetcher.c:vlc_dictionary_is_empty |
522 | | |
523 | | static inline char ** |
524 | | vlc_dictionary_all_keys( const vlc_dictionary_t * p_dict ) |
525 | 11 | { |
526 | 11 | vlc_dictionary_entry_t * p_entry; |
527 | 11 | char ** ppsz_ret; |
528 | 11 | size_t i, count = vlc_dictionary_keys_count(p_dict); |
529 | | |
530 | 11 | ppsz_ret = (char**)malloc(sizeof(char *) * (count + 1)); |
531 | 11 | if( unlikely(!ppsz_ret) ) |
532 | 0 | return NULL; |
533 | | |
534 | 11 | count = 0; |
535 | 21 | for( i = 0; i < p_dict->i_size; i++ ) |
536 | 10 | { |
537 | 20 | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) |
538 | 10 | ppsz_ret[count++] = strdup( p_entry->psz_key ); |
539 | 10 | } |
540 | 11 | ppsz_ret[count] = NULL; |
541 | 11 | return ppsz_ret; |
542 | 11 | } Unexecuted instantiation: demux-run.c:vlc_dictionary_all_keys Unexecuted instantiation: common.c:vlc_dictionary_all_keys Unexecuted instantiation: decoder.c:vlc_dictionary_all_keys Unexecuted instantiation: core.c:vlc_dictionary_all_keys Unexecuted instantiation: error.c:vlc_dictionary_all_keys Unexecuted instantiation: asf.c:vlc_dictionary_all_keys Unexecuted instantiation: avi.c:vlc_dictionary_all_keys Unexecuted instantiation: es.c:vlc_dictionary_all_keys Unexecuted instantiation: flac.c:vlc_dictionary_all_keys Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_all_keys Unexecuted instantiation: mp4.c:vlc_dictionary_all_keys Unexecuted instantiation: heif.c:vlc_dictionary_all_keys Unexecuted instantiation: sap.c:vlc_dictionary_all_keys Unexecuted instantiation: subtitle.c:vlc_dictionary_all_keys Unexecuted instantiation: ttml.c:vlc_dictionary_all_keys Unexecuted instantiation: encttml.c:vlc_dictionary_all_keys Unexecuted instantiation: substtml.c:vlc_dictionary_all_keys Unexecuted instantiation: genttml.c:vlc_dictionary_all_keys Unexecuted instantiation: subsvtt.c:vlc_dictionary_all_keys Unexecuted instantiation: hx.c:vlc_dictionary_all_keys Unexecuted instantiation: ogg.c:vlc_dictionary_all_keys Unexecuted instantiation: ts.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_pid.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_psi.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_si.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_psip.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_streams.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_scte.c:vlc_dictionary_all_keys Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_arib.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_sl.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_metadata.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_all_keys Unexecuted instantiation: ts_pes.c:vlc_dictionary_all_keys Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_all_keys(vlc_dictionary_t const*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_all_keys(vlc_dictionary_t const*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_all_keys(vlc_dictionary_t const*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_all_keys Unexecuted instantiation: subsusf.c:vlc_dictionary_all_keys Unexecuted instantiation: libvlc.c:vlc_dictionary_all_keys Unexecuted instantiation: media_tree.c:vlc_dictionary_all_keys Unexecuted instantiation: modules.c:vlc_dictionary_all_keys Unexecuted instantiation: entry.c:vlc_dictionary_all_keys Unexecuted instantiation: dialog.c:vlc_dictionary_all_keys Unexecuted instantiation: interface.c:vlc_dictionary_all_keys Unexecuted instantiation: external.c:vlc_dictionary_all_keys Unexecuted instantiation: item.c:vlc_dictionary_all_keys Unexecuted instantiation: access.c:vlc_dictionary_all_keys Unexecuted instantiation: demux.c:vlc_dictionary_all_keys Unexecuted instantiation: input.c:vlc_dictionary_all_keys meta.c:vlc_dictionary_all_keys Line | Count | Source | 525 | 11 | { | 526 | 11 | vlc_dictionary_entry_t * p_entry; | 527 | 11 | char ** ppsz_ret; | 528 | 11 | size_t i, count = vlc_dictionary_keys_count(p_dict); | 529 | | | 530 | 11 | ppsz_ret = (char**)malloc(sizeof(char *) * (count + 1)); | 531 | 11 | if( unlikely(!ppsz_ret) ) | 532 | 0 | return NULL; | 533 | | | 534 | 11 | count = 0; | 535 | 21 | for( i = 0; i < p_dict->i_size; i++ ) | 536 | 10 | { | 537 | 20 | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) | 538 | 10 | ppsz_ret[count++] = strdup( p_entry->psz_key ); | 539 | 10 | } | 540 | | ppsz_ret[count] = NULL; | 541 | 11 | return ppsz_ret; | 542 | 11 | } |
Unexecuted instantiation: player.c:vlc_dictionary_all_keys Unexecuted instantiation: stream.c:vlc_dictionary_all_keys Unexecuted instantiation: stream_extractor.c:vlc_dictionary_all_keys Unexecuted instantiation: stream_filter.c:vlc_dictionary_all_keys Unexecuted instantiation: stream_memory.c:vlc_dictionary_all_keys Unexecuted instantiation: subtitles.c:vlc_dictionary_all_keys Unexecuted instantiation: video_output.c:vlc_dictionary_all_keys Unexecuted instantiation: strings.c:vlc_dictionary_all_keys Unexecuted instantiation: epg.c:vlc_dictionary_all_keys Unexecuted instantiation: exit.c:vlc_dictionary_all_keys Unexecuted instantiation: variables.c:vlc_dictionary_all_keys Unexecuted instantiation: httpcookies.c:vlc_dictionary_all_keys Unexecuted instantiation: specific.c:vlc_dictionary_all_keys Unexecuted instantiation: stream_output.c:vlc_dictionary_all_keys Unexecuted instantiation: vlm.c:vlc_dictionary_all_keys Unexecuted instantiation: vlm_event.c:vlc_dictionary_all_keys Unexecuted instantiation: vlmshell.c:vlc_dictionary_all_keys Unexecuted instantiation: es_out.c:vlc_dictionary_all_keys Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_all_keys Unexecuted instantiation: parse.c:vlc_dictionary_all_keys Unexecuted instantiation: fetcher.c:vlc_dictionary_all_keys |
543 | | |
544 | | static inline void |
545 | | vlc_dictionary_insert_impl_( vlc_dictionary_t * p_dict, const char * psz_key, |
546 | | void * p_value, bool rebuild ) |
547 | 2.99M | { |
548 | 2.99M | if( !p_dict->p_entries ) |
549 | 626k | vlc_dictionary_init( p_dict, 1 ); |
550 | | |
551 | 2.99M | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
552 | 2.99M | vlc_dictionary_entry_t * p_entry; |
553 | | |
554 | 2.99M | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); |
555 | 2.99M | p_entry->psz_key = strdup( psz_key ); |
556 | 2.99M | p_entry->p_value = p_value; |
557 | 2.99M | p_entry->p_next = p_dict->p_entries[i_pos]; |
558 | 2.99M | p_dict->p_entries[i_pos] = p_entry; |
559 | 2.99M | if( rebuild ) |
560 | 1.86M | { |
561 | | /* Count how many items there was */ |
562 | 1.86M | int count; |
563 | 3.68M | for( count = 1; p_entry->p_next; count++ ) |
564 | 1.81M | p_entry = p_entry->p_next; |
565 | 1.86M | if( count > 3 ) /* XXX: this need tuning */ |
566 | 191k | { |
567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ |
568 | 191k | struct vlc_dictionary_t new_dict; |
569 | 191k | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ |
570 | 191k | size_t i; |
571 | 191k | vlc_dictionary_init( &new_dict, i_new_size ); |
572 | 808k | for( i = 0; i < p_dict->i_size; i++ ) |
573 | 617k | { |
574 | 617k | p_entry = p_dict->p_entries[i]; |
575 | 1.75M | while( p_entry ) |
576 | 1.13M | { |
577 | 1.13M | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, |
578 | 1.13M | p_entry->p_value, |
579 | 1.13M | false /* To avoid multiple rebuild loop */); |
580 | 1.13M | p_entry = p_entry->p_next; |
581 | 1.13M | } |
582 | 617k | } |
583 | | |
584 | 191k | vlc_dictionary_clear( p_dict, NULL, NULL ); |
585 | 191k | p_dict->i_size = new_dict.i_size; |
586 | 191k | p_dict->p_entries = new_dict.p_entries; |
587 | 191k | } |
588 | 1.86M | } |
589 | 2.99M | } Unexecuted instantiation: demux-run.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: common.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: decoder.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: core.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: error.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: asf.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: avi.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: es.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: flac.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: mp4.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: heif.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: sap.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: subtitle.c:vlc_dictionary_insert_impl_ ttml.c:vlc_dictionary_insert_impl_ Line | Count | Source | 547 | 1.25M | { | 548 | 1.25M | if( !p_dict->p_entries ) | 549 | 527k | vlc_dictionary_init( p_dict, 1 ); | 550 | | | 551 | 1.25M | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 552 | 1.25M | vlc_dictionary_entry_t * p_entry; | 553 | | | 554 | 1.25M | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); | 555 | 1.25M | p_entry->psz_key = strdup( psz_key ); | 556 | 1.25M | p_entry->p_value = p_value; | 557 | 1.25M | p_entry->p_next = p_dict->p_entries[i_pos]; | 558 | 1.25M | p_dict->p_entries[i_pos] = p_entry; | 559 | 1.25M | if( rebuild ) | 560 | 1.00M | { | 561 | | /* Count how many items there was */ | 562 | 1.00M | int count; | 563 | 1.71M | for( count = 1; p_entry->p_next; count++ ) | 564 | 711k | p_entry = p_entry->p_next; | 565 | 1.00M | if( count > 3 ) /* XXX: this need tuning */ | 566 | 59.1k | { | 567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ | 568 | 59.1k | struct vlc_dictionary_t new_dict; | 569 | 59.1k | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ | 570 | 59.1k | size_t i; | 571 | 59.1k | vlc_dictionary_init( &new_dict, i_new_size ); | 572 | 298k | for( i = 0; i < p_dict->i_size; i++ ) | 573 | 239k | { | 574 | 239k | p_entry = p_dict->p_entries[i]; | 575 | 491k | while( p_entry ) | 576 | 251k | { | 577 | 251k | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, | 578 | 251k | p_entry->p_value, | 579 | 251k | false /* To avoid multiple rebuild loop */); | 580 | 251k | p_entry = p_entry->p_next; | 581 | 251k | } | 582 | 239k | } | 583 | | | 584 | 59.1k | vlc_dictionary_clear( p_dict, NULL, NULL ); | 585 | 59.1k | p_dict->i_size = new_dict.i_size; | 586 | 59.1k | p_dict->p_entries = new_dict.p_entries; | 587 | 59.1k | } | 588 | 1.00M | } | 589 | 1.25M | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_insert_impl_ substtml.c:vlc_dictionary_insert_impl_ Line | Count | Source | 547 | 1.73M | { | 548 | 1.73M | if( !p_dict->p_entries ) | 549 | 98.2k | vlc_dictionary_init( p_dict, 1 ); | 550 | | | 551 | 1.73M | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 552 | 1.73M | vlc_dictionary_entry_t * p_entry; | 553 | | | 554 | 1.73M | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); | 555 | 1.73M | p_entry->psz_key = strdup( psz_key ); | 556 | 1.73M | p_entry->p_value = p_value; | 557 | 1.73M | p_entry->p_next = p_dict->p_entries[i_pos]; | 558 | 1.73M | p_dict->p_entries[i_pos] = p_entry; | 559 | 1.73M | if( rebuild ) | 560 | 852k | { | 561 | | /* Count how many items there was */ | 562 | 852k | int count; | 563 | 1.95M | for( count = 1; p_entry->p_next; count++ ) | 564 | 1.10M | p_entry = p_entry->p_next; | 565 | 852k | if( count > 3 ) /* XXX: this need tuning */ | 566 | 132k | { | 567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ | 568 | 132k | struct vlc_dictionary_t new_dict; | 569 | 132k | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ | 570 | 132k | size_t i; | 571 | 132k | vlc_dictionary_init( &new_dict, i_new_size ); | 572 | 509k | for( i = 0; i < p_dict->i_size; i++ ) | 573 | 377k | { | 574 | 377k | p_entry = p_dict->p_entries[i]; | 575 | 1.26M | while( p_entry ) | 576 | 883k | { | 577 | 883k | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, | 578 | 883k | p_entry->p_value, | 579 | 883k | false /* To avoid multiple rebuild loop */); | 580 | 883k | p_entry = p_entry->p_next; | 581 | 883k | } | 582 | 377k | } | 583 | | | 584 | 132k | vlc_dictionary_clear( p_dict, NULL, NULL ); | 585 | 132k | p_dict->i_size = new_dict.i_size; | 586 | 132k | p_dict->p_entries = new_dict.p_entries; | 587 | 132k | } | 588 | 852k | } | 589 | 1.73M | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: subsvtt.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: hx.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ogg.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_pid.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_psi.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_si.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_psip.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_streams.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_scte.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_arib.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_sl.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_metadata.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: ts_pes.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_insert_impl_(vlc_dictionary_t*, char const*, void*, bool) Unexecuted instantiation: chapters.cpp:vlc_dictionary_insert_impl_(vlc_dictionary_t*, char const*, void*, bool) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_insert_impl_(vlc_dictionary_t*, char const*, void*, bool) Unexecuted instantiation: dvbsub.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: subsusf.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: libvlc.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: media_tree.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: modules.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: entry.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: dialog.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: interface.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: external.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: item.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: access.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: demux.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: input.c:vlc_dictionary_insert_impl_ meta.c:vlc_dictionary_insert_impl_ Line | Count | Source | 547 | 3.93k | { | 548 | 3.93k | if( !p_dict->p_entries ) | 549 | 1.34k | vlc_dictionary_init( p_dict, 1 ); | 550 | | | 551 | 3.93k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 552 | 3.93k | vlc_dictionary_entry_t * p_entry; | 553 | | | 554 | 3.93k | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); | 555 | 3.93k | p_entry->psz_key = strdup( psz_key ); | 556 | 3.93k | p_entry->p_value = p_value; | 557 | 3.93k | p_entry->p_next = p_dict->p_entries[i_pos]; | 558 | 3.93k | p_dict->p_entries[i_pos] = p_entry; | 559 | 3.93k | if( rebuild ) | 560 | 3.56k | { | 561 | | /* Count how many items there was */ | 562 | 3.56k | int count; | 563 | 5.66k | for( count = 1; p_entry->p_next; count++ ) | 564 | 2.09k | p_entry = p_entry->p_next; | 565 | 3.56k | if( count > 3 ) /* XXX: this need tuning */ | 566 | 22 | { | 567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ | 568 | 22 | struct vlc_dictionary_t new_dict; | 569 | 22 | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ | 570 | 22 | size_t i; | 571 | 22 | vlc_dictionary_init( &new_dict, i_new_size ); | 572 | 562 | for( i = 0; i < p_dict->i_size; i++ ) | 573 | 540 | { | 574 | 540 | p_entry = p_dict->p_entries[i]; | 575 | 908 | while( p_entry ) | 576 | 368 | { | 577 | 368 | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, | 578 | 368 | p_entry->p_value, | 579 | 368 | false /* To avoid multiple rebuild loop */); | 580 | 368 | p_entry = p_entry->p_next; | 581 | 368 | } | 582 | 540 | } | 583 | | | 584 | 22 | vlc_dictionary_clear( p_dict, NULL, NULL ); | 585 | 22 | p_dict->i_size = new_dict.i_size; | 586 | 22 | p_dict->p_entries = new_dict.p_entries; | 587 | 22 | } | 588 | 3.56k | } | 589 | 3.93k | } |
Unexecuted instantiation: player.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: stream.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: stream_extractor.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: stream_filter.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: stream_memory.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: subtitles.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: video_output.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: strings.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: epg.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: exit.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: variables.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: httpcookies.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: specific.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: stream_output.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: vlm.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: vlm_event.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: vlmshell.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: es_out.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: parse.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: fetcher.c:vlc_dictionary_insert_impl_ |
590 | | |
591 | | static inline void |
592 | | vlc_dictionary_insert( vlc_dictionary_t * p_dict, const char * psz_key, void * p_value ) |
593 | 1.86M | { |
594 | 1.86M | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); |
595 | 1.86M | } Unexecuted instantiation: demux-run.c:vlc_dictionary_insert Unexecuted instantiation: common.c:vlc_dictionary_insert Unexecuted instantiation: decoder.c:vlc_dictionary_insert Unexecuted instantiation: core.c:vlc_dictionary_insert Unexecuted instantiation: error.c:vlc_dictionary_insert Unexecuted instantiation: asf.c:vlc_dictionary_insert Unexecuted instantiation: avi.c:vlc_dictionary_insert Unexecuted instantiation: es.c:vlc_dictionary_insert Unexecuted instantiation: flac.c:vlc_dictionary_insert Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_insert Unexecuted instantiation: mp4.c:vlc_dictionary_insert Unexecuted instantiation: heif.c:vlc_dictionary_insert Unexecuted instantiation: sap.c:vlc_dictionary_insert Unexecuted instantiation: subtitle.c:vlc_dictionary_insert ttml.c:vlc_dictionary_insert Line | Count | Source | 593 | 1.00M | { | 594 | | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); | 595 | 1.00M | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_insert substtml.c:vlc_dictionary_insert Line | Count | Source | 593 | 852k | { | 594 | | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); | 595 | 852k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_insert Unexecuted instantiation: subsvtt.c:vlc_dictionary_insert Unexecuted instantiation: hx.c:vlc_dictionary_insert Unexecuted instantiation: ogg.c:vlc_dictionary_insert Unexecuted instantiation: ts.c:vlc_dictionary_insert Unexecuted instantiation: ts_pid.c:vlc_dictionary_insert Unexecuted instantiation: ts_psi.c:vlc_dictionary_insert Unexecuted instantiation: ts_si.c:vlc_dictionary_insert Unexecuted instantiation: ts_psip.c:vlc_dictionary_insert Unexecuted instantiation: ts_streams.c:vlc_dictionary_insert Unexecuted instantiation: ts_scte.c:vlc_dictionary_insert Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_insert Unexecuted instantiation: ts_arib.c:vlc_dictionary_insert Unexecuted instantiation: ts_sl.c:vlc_dictionary_insert Unexecuted instantiation: ts_metadata.c:vlc_dictionary_insert Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_insert Unexecuted instantiation: ts_pes.c:vlc_dictionary_insert Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_insert(vlc_dictionary_t*, char const*, void*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_insert(vlc_dictionary_t*, char const*, void*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_insert(vlc_dictionary_t*, char const*, void*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_insert Unexecuted instantiation: subsusf.c:vlc_dictionary_insert Unexecuted instantiation: libvlc.c:vlc_dictionary_insert Unexecuted instantiation: media_tree.c:vlc_dictionary_insert Unexecuted instantiation: modules.c:vlc_dictionary_insert Unexecuted instantiation: entry.c:vlc_dictionary_insert Unexecuted instantiation: dialog.c:vlc_dictionary_insert Unexecuted instantiation: interface.c:vlc_dictionary_insert Unexecuted instantiation: external.c:vlc_dictionary_insert Unexecuted instantiation: item.c:vlc_dictionary_insert Unexecuted instantiation: access.c:vlc_dictionary_insert Unexecuted instantiation: demux.c:vlc_dictionary_insert Unexecuted instantiation: input.c:vlc_dictionary_insert meta.c:vlc_dictionary_insert Line | Count | Source | 593 | 3.56k | { | 594 | | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); | 595 | 3.56k | } |
Unexecuted instantiation: player.c:vlc_dictionary_insert Unexecuted instantiation: stream.c:vlc_dictionary_insert Unexecuted instantiation: stream_extractor.c:vlc_dictionary_insert Unexecuted instantiation: stream_filter.c:vlc_dictionary_insert Unexecuted instantiation: stream_memory.c:vlc_dictionary_insert Unexecuted instantiation: subtitles.c:vlc_dictionary_insert Unexecuted instantiation: video_output.c:vlc_dictionary_insert Unexecuted instantiation: strings.c:vlc_dictionary_insert Unexecuted instantiation: epg.c:vlc_dictionary_insert Unexecuted instantiation: exit.c:vlc_dictionary_insert Unexecuted instantiation: variables.c:vlc_dictionary_insert Unexecuted instantiation: httpcookies.c:vlc_dictionary_insert Unexecuted instantiation: specific.c:vlc_dictionary_insert Unexecuted instantiation: stream_output.c:vlc_dictionary_insert Unexecuted instantiation: vlm.c:vlc_dictionary_insert Unexecuted instantiation: vlm_event.c:vlc_dictionary_insert Unexecuted instantiation: vlmshell.c:vlc_dictionary_insert Unexecuted instantiation: es_out.c:vlc_dictionary_insert Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_insert Unexecuted instantiation: parse.c:vlc_dictionary_insert Unexecuted instantiation: fetcher.c:vlc_dictionary_insert |
596 | | |
597 | | static inline void |
598 | | vlc_dictionary_remove_value_for_key( const vlc_dictionary_t * p_dict, const char * psz_key, |
599 | | void ( * pf_free )( void * p_data, void * p_obj ), |
600 | | void * p_obj ) |
601 | 6.25k | { |
602 | 6.25k | if( !p_dict->p_entries ) |
603 | 0 | return; |
604 | | |
605 | 6.25k | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
606 | 6.25k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; |
607 | 6.25k | vlc_dictionary_entry_t * p_prev; |
608 | | |
609 | 6.25k | if( !p_entry ) |
610 | 0 | return; /* Not found, nothing to do */ |
611 | | |
612 | | /* Hash collision */ |
613 | 6.25k | p_prev = NULL; |
614 | 12.0k | do { |
615 | 12.0k | if( !strcmp( psz_key, p_entry->psz_key ) ) |
616 | 6.25k | { |
617 | 6.25k | if( pf_free != NULL ) |
618 | 1.93k | ( * pf_free )( p_entry->p_value, p_obj ); |
619 | 6.25k | if( !p_prev ) |
620 | 2.83k | p_dict->p_entries[i_pos] = p_entry->p_next; |
621 | 3.42k | else |
622 | 3.42k | p_prev->p_next = p_entry->p_next; |
623 | 6.25k | free( p_entry->psz_key ); |
624 | 6.25k | free( p_entry ); |
625 | 6.25k | return; |
626 | 6.25k | } |
627 | 5.80k | p_prev = p_entry; |
628 | 5.80k | p_entry = p_entry->p_next; |
629 | 5.80k | } while( p_entry ); |
630 | | |
631 | | /* No key was found */ |
632 | 6.25k | } Unexecuted instantiation: demux-run.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: common.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: decoder.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: core.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: error.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: asf.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: avi.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: es.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: flac.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: mp4.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: heif.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: sap.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: subtitle.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ttml.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: encttml.c:vlc_dictionary_remove_value_for_key substtml.c:vlc_dictionary_remove_value_for_key Line | Count | Source | 601 | 4.32k | { | 602 | 4.32k | if( !p_dict->p_entries ) | 603 | 0 | return; | 604 | | | 605 | 4.32k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 606 | 4.32k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 607 | 4.32k | vlc_dictionary_entry_t * p_prev; | 608 | | | 609 | 4.32k | if( !p_entry ) | 610 | 0 | return; /* Not found, nothing to do */ | 611 | | | 612 | | /* Hash collision */ | 613 | 4.32k | p_prev = NULL; | 614 | 9.54k | do { | 615 | 9.54k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 616 | 4.32k | { | 617 | 4.32k | if( pf_free != NULL ) | 618 | 0 | ( * pf_free )( p_entry->p_value, p_obj ); | 619 | 4.32k | if( !p_prev ) | 620 | 1.29k | p_dict->p_entries[i_pos] = p_entry->p_next; | 621 | 3.02k | else | 622 | 3.02k | p_prev->p_next = p_entry->p_next; | 623 | 4.32k | free( p_entry->psz_key ); | 624 | 4.32k | free( p_entry ); | 625 | 4.32k | return; | 626 | 4.32k | } | 627 | 5.22k | p_prev = p_entry; | 628 | 5.22k | p_entry = p_entry->p_next; | 629 | 5.22k | } while( p_entry ); | 630 | | | 631 | | /* No key was found */ | 632 | 4.32k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: subsvtt.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: hx.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ogg.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_pid.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_psi.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_si.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_psip.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_streams.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_scte.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_arib.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_sl.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_metadata.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: ts_pes.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_remove_value_for_key(vlc_dictionary_t const*, char const*, void (*)(void*, void*), void*) Unexecuted instantiation: chapters.cpp:vlc_dictionary_remove_value_for_key(vlc_dictionary_t const*, char const*, void (*)(void*, void*), void*) Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_remove_value_for_key(vlc_dictionary_t const*, char const*, void (*)(void*, void*), void*) Unexecuted instantiation: dvbsub.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: subsusf.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: libvlc.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: media_tree.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: modules.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: entry.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: dialog.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: interface.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: external.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: item.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: access.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: demux.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: input.c:vlc_dictionary_remove_value_for_key meta.c:vlc_dictionary_remove_value_for_key Line | Count | Source | 601 | 1.93k | { | 602 | 1.93k | if( !p_dict->p_entries ) | 603 | 0 | return; | 604 | | | 605 | 1.93k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 606 | 1.93k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 607 | 1.93k | vlc_dictionary_entry_t * p_prev; | 608 | | | 609 | 1.93k | if( !p_entry ) | 610 | 0 | return; /* Not found, nothing to do */ | 611 | | | 612 | | /* Hash collision */ | 613 | 1.93k | p_prev = NULL; | 614 | 2.52k | do { | 615 | 2.52k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 616 | 1.93k | { | 617 | 1.93k | if( pf_free != NULL ) | 618 | 1.93k | ( * pf_free )( p_entry->p_value, p_obj ); | 619 | 1.93k | if( !p_prev ) | 620 | 1.53k | p_dict->p_entries[i_pos] = p_entry->p_next; | 621 | 401 | else | 622 | 401 | p_prev->p_next = p_entry->p_next; | 623 | 1.93k | free( p_entry->psz_key ); | 624 | 1.93k | free( p_entry ); | 625 | 1.93k | return; | 626 | 1.93k | } | 627 | 584 | p_prev = p_entry; | 628 | 584 | p_entry = p_entry->p_next; | 629 | 584 | } while( p_entry ); | 630 | | | 631 | | /* No key was found */ | 632 | 1.93k | } |
Unexecuted instantiation: player.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: stream.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: stream_extractor.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: stream_filter.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: stream_memory.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: subtitles.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: video_output.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: strings.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: epg.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: exit.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: variables.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: httpcookies.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: specific.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: stream_output.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: vlm.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: vlm_event.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: vlmshell.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: es_out.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: parse.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: fetcher.c:vlc_dictionary_remove_value_for_key |
633 | | |
634 | | #ifdef __cplusplus |
635 | | // C++ helpers |
636 | | template <typename T> |
637 | | void vlc_delete_all( T &container ) |
638 | 3.16k | { |
639 | 3.16k | typename T::iterator it = container.begin(); |
640 | 3.82k | while ( it != container.end() ) |
641 | 658 | { |
642 | 658 | delete *it; |
643 | 658 | ++it; |
644 | 658 | } |
645 | 3.16k | container.clear(); |
646 | 3.16k | } void vlc_delete_all<std::__1::vector<mkv::chapter_edition_c*, std::__1::allocator<mkv::chapter_edition_c*> > >(std::__1::vector<mkv::chapter_edition_c*, std::__1::allocator<mkv::chapter_edition_c*> >&) Line | Count | Source | 638 | 622 | { | 639 | 622 | typename T::iterator it = container.begin(); | 640 | 803 | while ( it != container.end() ) | 641 | 181 | { | 642 | 181 | delete *it; | 643 | 181 | ++it; | 644 | 181 | } | 645 | 622 | container.clear(); | 646 | 622 | } |
void vlc_delete_all<std::__1::vector<mkv::chapter_translation_c*, std::__1::allocator<mkv::chapter_translation_c*> > >(std::__1::vector<mkv::chapter_translation_c*, std::__1::allocator<mkv::chapter_translation_c*> >&) Line | Count | Source | 638 | 622 | { | 639 | 622 | typename T::iterator it = container.begin(); | 640 | 622 | while ( it != container.end() ) | 641 | 0 | { | 642 | 0 | delete *it; | 643 | 0 | ++it; | 644 | 0 | } | 645 | 622 | container.clear(); | 646 | 622 | } |
void vlc_delete_all<std::__1::vector<libmatroska::KaxSegmentFamily*, std::__1::allocator<libmatroska::KaxSegmentFamily*> > >(std::__1::vector<libmatroska::KaxSegmentFamily*, std::__1::allocator<libmatroska::KaxSegmentFamily*> >&) Line | Count | Source | 638 | 622 | { | 639 | 622 | typename T::iterator it = container.begin(); | 640 | 622 | while ( it != container.end() ) | 641 | 0 | { | 642 | 0 | delete *it; | 643 | 0 | ++it; | 644 | 0 | } | 645 | 622 | container.clear(); | 646 | 622 | } |
void vlc_delete_all<std::__1::vector<mkv::chapter_codec_cmds_c*, std::__1::allocator<mkv::chapter_codec_cmds_c*> > >(std::__1::vector<mkv::chapter_codec_cmds_c*, std::__1::allocator<mkv::chapter_codec_cmds_c*> >&) Line | Count | Source | 638 | 651 | { | 639 | 651 | typename T::iterator it = container.begin(); | 640 | 658 | while ( it != container.end() ) | 641 | 7 | { | 642 | 7 | delete *it; | 643 | 7 | ++it; | 644 | 7 | } | 645 | 651 | container.clear(); | 646 | 651 | } |
void vlc_delete_all<std::__1::vector<mkv::chapter_item_c*, std::__1::allocator<mkv::chapter_item_c*> > >(std::__1::vector<mkv::chapter_item_c*, std::__1::allocator<mkv::chapter_item_c*> >&) Line | Count | Source | 638 | 651 | { | 639 | 651 | typename T::iterator it = container.begin(); | 640 | 1.12k | while ( it != container.end() ) | 641 | 470 | { | 642 | 470 | delete *it; | 643 | 470 | ++it; | 644 | 470 | } | 645 | 651 | container.clear(); | 646 | 651 | } |
|
647 | | |
648 | | #endif |
649 | | |
650 | | #endif |