/src/vlc/include/vlc_vector.h
Line | Count | Source |
1 | | /****************************************************************************** |
2 | | * vlc_vector.h |
3 | | ****************************************************************************** |
4 | | * Copyright (C) 2018 VLC authors and VideoLAN |
5 | | * |
6 | | * This program is free software; you can redistribute it and/or modify it |
7 | | * under the terms of the GNU Lesser General Public License as published by |
8 | | * the Free Software Foundation; either version 2.1 of the License, or |
9 | | * (at your option) any later version. |
10 | | * |
11 | | * This program is distributed in the hope that it will be useful, |
12 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | | * GNU Lesser General Public License for more details. |
15 | | * |
16 | | * You should have received a copy of the GNU Lesser General Public License |
17 | | * along with this program; if not, write to the Free Software Foundation, |
18 | | * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. |
19 | | *****************************************************************************/ |
20 | | #ifndef VLC_VECTOR_H |
21 | | #define VLC_VECTOR_H |
22 | | |
23 | | #include <assert.h> |
24 | | #include <stdbool.h> |
25 | | #include <stddef.h> |
26 | | |
27 | | /** |
28 | | * \defgroup vector Vector |
29 | | * \ingroup cext |
30 | | * @{ |
31 | | * \file |
32 | | * This provides convenience helpers for vectors. |
33 | | */ |
34 | | |
35 | | /** |
36 | | * Vector struct body. |
37 | | * |
38 | | * A vector is a dynamic array, managed by the vlc_vector_* helpers. |
39 | | * |
40 | | * It is generic over the type of its items, so it is implemented as macros. |
41 | | * |
42 | | * To use a vector, a new type must be defined: |
43 | | * |
44 | | * \code |
45 | | * struct vec_int VLC_VECTOR(int); |
46 | | * \endcode |
47 | | * |
48 | | * The struct may be anonymous: |
49 | | * |
50 | | * \code |
51 | | * struct VLC_VECTOR(const char *) names; |
52 | | * \endcode |
53 | | * |
54 | | * It is convenient to define a typedef to an anonymous structure: |
55 | | * |
56 | | * \code |
57 | | * typedef struct VLC_VECTOR(int) vec_int_t; |
58 | | * \endcode |
59 | | * |
60 | | * Vector size is accessible via `vec.size`, and items are intended to be |
61 | | * accessed directly, via `vec.data[i]`. |
62 | | * |
63 | | * Functions and macros having name ending with '_' are private. |
64 | | */ |
65 | | #define VLC_VECTOR(type) \ |
66 | | { \ |
67 | | size_t cap; \ |
68 | | size_t size; \ |
69 | | type *data; \ |
70 | | } |
71 | | |
72 | | /** |
73 | | * Static initializer for a vector. |
74 | | */ |
75 | 0 | #define VLC_VECTOR_INITIALIZER { 0, 0, NULL } |
76 | | |
77 | | /** |
78 | | * Initialize an empty vector. |
79 | | */ |
80 | 226M | #define vlc_vector_init(pv) (void) \ |
81 | 226M | ( \ |
82 | 226M | /* cannot be implemented as do-while(0), called from vlc_vector_clear() */ \ |
83 | 226M | (pv)->cap = 0, \ |
84 | 226M | (pv)->size = 0, \ |
85 | 226M | (pv)->data = NULL \ |
86 | 226M | ) |
87 | | |
88 | | /** |
89 | | * Destroy a vector. |
90 | | * |
91 | | * The vector may not be used anymore unless vlc_vector_init() is called. |
92 | | */ |
93 | | #define vlc_vector_destroy(pv) \ |
94 | 113M | free((pv)->data) |
95 | | |
96 | | /** |
97 | | * Clear a vector. |
98 | | * |
99 | | * Remove all items from the vector. |
100 | | */ |
101 | 113M | #define vlc_vector_clear(pv) \ |
102 | 113M | ( \ |
103 | 113M | /* cannot be implemented as do-while(0), called from vlc_vector_resize_() */ \ |
104 | 113M | vlc_vector_destroy(pv), \ |
105 | 113M | vlc_vector_init(pv) \ |
106 | 113M | ) |
107 | | |
108 | | /** |
109 | | * The minimal allocation size, in number of items. |
110 | | * |
111 | | * Private. |
112 | | */ |
113 | 0 | #define VLC_VECTOR_MINCAP_ ((size_t) 10) |
114 | | |
115 | | static inline size_t |
116 | | vlc_vector_min_(size_t a, size_t b) |
117 | 4.00k | { |
118 | 4.00k | return a < b ? a : b; |
119 | 4.00k | } Unexecuted instantiation: demux-run.c:vlc_vector_min_ Unexecuted instantiation: var.c:vlc_vector_min_ Unexecuted instantiation: decoder.c:vlc_vector_min_ Unexecuted instantiation: core.c:vlc_vector_min_ Unexecuted instantiation: aiff.c:vlc_vector_min_ Unexecuted instantiation: asf.c:vlc_vector_min_ Unexecuted instantiation: libasf.c:vlc_vector_min_ Unexecuted instantiation: asfpacket.c:vlc_vector_min_ Unexecuted instantiation: au.c:vlc_vector_min_ Unexecuted instantiation: avi.c:vlc_vector_min_ Unexecuted instantiation: libavi.c:vlc_vector_min_ Unexecuted instantiation: caf.c:vlc_vector_min_ Unexecuted instantiation: cdg.c:vlc_vector_min_ Unexecuted instantiation: es.c:vlc_vector_min_ Unexecuted instantiation: dts_header.c:vlc_vector_min_ Unexecuted instantiation: flac.c:vlc_vector_min_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_min_ Unexecuted instantiation: h26x.c:vlc_vector_min_ Unexecuted instantiation: mjpeg.c:vlc_vector_min_ Unexecuted instantiation: mp4.c:vlc_vector_min_ Unexecuted instantiation: fragments.c:vlc_vector_min_ Unexecuted instantiation: attachments.c:vlc_vector_min_ Unexecuted instantiation: heif.c:vlc_vector_min_ Unexecuted instantiation: essetup.c:vlc_vector_min_ Unexecuted instantiation: meta.c:vlc_vector_min_ Unexecuted instantiation: libmp4.c:vlc_vector_min_ Unexecuted instantiation: nsv.c:vlc_vector_min_ Unexecuted instantiation: ps.c:vlc_vector_min_ Unexecuted instantiation: pva.c:vlc_vector_min_ Unexecuted instantiation: sap.c:vlc_vector_min_ Unexecuted instantiation: smf.c:vlc_vector_min_ Unexecuted instantiation: subtitle.c:vlc_vector_min_ Unexecuted instantiation: tta.c:vlc_vector_min_ Unexecuted instantiation: encttml.c:vlc_vector_min_ Unexecuted instantiation: substtml.c:vlc_vector_min_ Unexecuted instantiation: ttml.c:vlc_vector_min_ Unexecuted instantiation: ty.c:vlc_vector_min_ Unexecuted instantiation: voc.c:vlc_vector_min_ Unexecuted instantiation: wav.c:vlc_vector_min_ Unexecuted instantiation: webvtt.c:vlc_vector_min_ Unexecuted instantiation: encvtt.c:vlc_vector_min_ Unexecuted instantiation: subsvtt.c:vlc_vector_min_ Unexecuted instantiation: xa.c:vlc_vector_min_ Unexecuted instantiation: a52.c:vlc_vector_min_ Unexecuted instantiation: copy.c:vlc_vector_min_ Unexecuted instantiation: dts.c:vlc_vector_min_ Unexecuted instantiation: h264.c:vlc_vector_min_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_min_ Unexecuted instantiation: hxxx_common.c:vlc_vector_min_ Unexecuted instantiation: h264_nal.c:vlc_vector_min_ Unexecuted instantiation: hevc.c:vlc_vector_min_ Unexecuted instantiation: mlp.c:vlc_vector_min_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_min_ Unexecuted instantiation: mpeg4video.c:vlc_vector_min_ Unexecuted instantiation: mpegaudio.c:vlc_vector_min_ Unexecuted instantiation: mpegvideo.c:vlc_vector_min_ Unexecuted instantiation: vc1.c:vlc_vector_min_ Unexecuted instantiation: rawaud.c:vlc_vector_min_ Unexecuted instantiation: rawvid.c:vlc_vector_min_ Unexecuted instantiation: file.c:vlc_vector_min_ Unexecuted instantiation: directory.c:vlc_vector_min_ Unexecuted instantiation: libxml.c:vlc_vector_min_ Unexecuted instantiation: ogg.c:vlc_vector_min_ Unexecuted instantiation: oggseek.c:vlc_vector_min_ Unexecuted instantiation: mkv.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_min_(unsigned long, unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_min_ Unexecuted instantiation: aes3.c:vlc_vector_min_ Unexecuted instantiation: araw.c:vlc_vector_min_ Unexecuted instantiation: g711.c:vlc_vector_min_ Unexecuted instantiation: lpcm.c:vlc_vector_min_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_min_ Unexecuted instantiation: rawvideo.c:vlc_vector_min_ Unexecuted instantiation: cc.c:vlc_vector_min_ Unexecuted instantiation: cea708.c:vlc_vector_min_ Unexecuted instantiation: cvdsub.c:vlc_vector_min_ Unexecuted instantiation: dvbsub.c:vlc_vector_min_ Unexecuted instantiation: scte18.c:vlc_vector_min_ Unexecuted instantiation: scte27.c:vlc_vector_min_ Unexecuted instantiation: spudec.c:vlc_vector_min_ Unexecuted instantiation: parse.c:vlc_vector_min_ Unexecuted instantiation: stl.c:vlc_vector_min_ Unexecuted instantiation: subsdec.c:vlc_vector_min_ Unexecuted instantiation: subsusf.c:vlc_vector_min_ Unexecuted instantiation: svcdsub.c:vlc_vector_min_ Unexecuted instantiation: textst.c:vlc_vector_min_ Unexecuted instantiation: substx3g.c:vlc_vector_min_ Unexecuted instantiation: libvlc.c:vlc_vector_min_ Unexecuted instantiation: chain.c:vlc_vector_min_ Unexecuted instantiation: help.c:vlc_vector_min_ Unexecuted instantiation: cmdline.c:vlc_vector_min_ Unexecuted instantiation: media_source.c:vlc_vector_min_ Unexecuted instantiation: media_tree.c:vlc_vector_min_ Unexecuted instantiation: modules.c:vlc_vector_min_ Unexecuted instantiation: bank.c:vlc_vector_min_ Unexecuted instantiation: entry.c:vlc_vector_min_ Unexecuted instantiation: dialog.c:vlc_vector_min_ Unexecuted instantiation: interface.c:vlc_vector_min_ Unexecuted instantiation: content.c:vlc_vector_min_ Unexecuted instantiation: control.c:vlc_vector_min_ Unexecuted instantiation: item.c:vlc_vector_min_ Unexecuted instantiation: notify.c:vlc_vector_min_ Unexecuted instantiation: player.c:vlc_vector_min_ Unexecuted instantiation: playlist.c:vlc_vector_min_ Unexecuted instantiation: preparse.c:vlc_vector_min_ Unexecuted instantiation: randomizer.c:vlc_vector_min_ Unexecuted instantiation: preparser.c:vlc_vector_min_ Unexecuted instantiation: access.c:vlc_vector_min_ Unexecuted instantiation: decoder_device.c:vlc_vector_min_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_min_ Unexecuted instantiation: demux.c:vlc_vector_min_ Unexecuted instantiation: input.c:vlc_vector_min_ Unexecuted instantiation: attachment.c:vlc_vector_min_ Unexecuted instantiation: timer.c:vlc_vector_min_ Unexecuted instantiation: track.c:vlc_vector_min_ Unexecuted instantiation: title.c:vlc_vector_min_ Unexecuted instantiation: aout.c:vlc_vector_min_ Unexecuted instantiation: vout.c:vlc_vector_min_ Unexecuted instantiation: osd.c:vlc_vector_min_ Unexecuted instantiation: medialib.c:vlc_vector_min_ Unexecuted instantiation: resource.c:vlc_vector_min_ Unexecuted instantiation: services_discovery.c:vlc_vector_min_ Unexecuted instantiation: stats.c:vlc_vector_min_ Unexecuted instantiation: stream.c:vlc_vector_min_ Unexecuted instantiation: stream_extractor.c:vlc_vector_min_ Unexecuted instantiation: stream_filter.c:vlc_vector_min_ Unexecuted instantiation: stream_memory.c:vlc_vector_min_ Unexecuted instantiation: subtitles.c:vlc_vector_min_ Unexecuted instantiation: common.c:vlc_vector_min_ Unexecuted instantiation: dec.c:vlc_vector_min_ Unexecuted instantiation: filters.c:vlc_vector_min_ Unexecuted instantiation: meter.c:vlc_vector_min_ Unexecuted instantiation: output.c:vlc_vector_min_ Unexecuted instantiation: volume.c:vlc_vector_min_ Unexecuted instantiation: video_output.c:vlc_vector_min_ Unexecuted instantiation: video_text.c:vlc_vector_min_ Unexecuted instantiation: video_widgets.c:vlc_vector_min_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_min_ Unexecuted instantiation: video_window.c:vlc_vector_min_ Unexecuted instantiation: window.c:vlc_vector_min_ Unexecuted instantiation: vout_intf.c:vlc_vector_min_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_min_ Unexecuted instantiation: charset.c:vlc_vector_min_ Unexecuted instantiation: strings.c:vlc_vector_min_ Unexecuted instantiation: unicode.c:vlc_vector_min_ Unexecuted instantiation: actions.c:vlc_vector_min_ ancillary.c:vlc_vector_min_ Line | Count | Source | 117 | 4.00k | { | 118 | 4.00k | return a < b ? a : b; | 119 | 4.00k | } |
Unexecuted instantiation: executor.c:vlc_vector_min_ Unexecuted instantiation: probe.c:vlc_vector_min_ Unexecuted instantiation: frame.c:vlc_vector_min_ Unexecuted instantiation: fifo.c:vlc_vector_min_ Unexecuted instantiation: fourcc.c:vlc_vector_min_ Unexecuted instantiation: picture.c:vlc_vector_min_ Unexecuted instantiation: picture_fifo.c:vlc_vector_min_ Unexecuted instantiation: picture_pool.c:vlc_vector_min_ Unexecuted instantiation: interrupt.c:vlc_vector_min_ Unexecuted instantiation: keystore.c:vlc_vector_min_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_min_ Unexecuted instantiation: threads.c:vlc_vector_min_ Unexecuted instantiation: cpu.c:vlc_vector_min_ Unexecuted instantiation: exit.c:vlc_vector_min_ Unexecuted instantiation: image.c:vlc_vector_min_ Unexecuted instantiation: messages.c:vlc_vector_min_ Unexecuted instantiation: tracer.c:vlc_vector_min_ Unexecuted instantiation: objects.c:vlc_vector_min_ Unexecuted instantiation: objres.c:vlc_vector_min_ Unexecuted instantiation: variables.c:vlc_vector_min_ Unexecuted instantiation: xml.c:vlc_vector_min_ Unexecuted instantiation: filter.c:vlc_vector_min_ Unexecuted instantiation: filter_chain.c:vlc_vector_min_ Unexecuted instantiation: subpicture.c:vlc_vector_min_ Unexecuted instantiation: medialibrary.c:vlc_vector_min_ Unexecuted instantiation: thread.c:vlc_vector_min_ Unexecuted instantiation: specific.c:vlc_vector_min_ Unexecuted instantiation: stream_output.c:vlc_vector_min_ Unexecuted instantiation: vlm.c:vlc_vector_min_ Unexecuted instantiation: vlm_event.c:vlc_vector_min_ Unexecuted instantiation: vlmshell.c:vlc_vector_min_ Unexecuted instantiation: libvlc-module.c:vlc_vector_min_ Unexecuted instantiation: art.c:vlc_vector_min_ Unexecuted instantiation: fetcher.c:vlc_vector_min_ Unexecuted instantiation: clock.c:vlc_vector_min_ Unexecuted instantiation: es_out.c:vlc_vector_min_ Unexecuted instantiation: es_out_source.c:vlc_vector_min_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_min_ Unexecuted instantiation: display.c:vlc_vector_min_ Unexecuted instantiation: inhibit.c:vlc_vector_min_ Unexecuted instantiation: interlacing.c:vlc_vector_min_ Unexecuted instantiation: snapshot.c:vlc_vector_min_ Unexecuted instantiation: chroma_probe.c:vlc_vector_min_ Unexecuted instantiation: dirs.c:vlc_vector_min_ Unexecuted instantiation: input_clock.c:vlc_vector_min_ |
120 | | |
121 | | static inline size_t |
122 | | vlc_vector_max_(size_t a, size_t b) |
123 | 8.01k | { |
124 | 8.01k | return a > b ? a : b; |
125 | 8.01k | } Unexecuted instantiation: demux-run.c:vlc_vector_max_ Unexecuted instantiation: var.c:vlc_vector_max_ Unexecuted instantiation: decoder.c:vlc_vector_max_ Unexecuted instantiation: core.c:vlc_vector_max_ Unexecuted instantiation: aiff.c:vlc_vector_max_ Unexecuted instantiation: asf.c:vlc_vector_max_ Unexecuted instantiation: libasf.c:vlc_vector_max_ Unexecuted instantiation: asfpacket.c:vlc_vector_max_ Unexecuted instantiation: au.c:vlc_vector_max_ Unexecuted instantiation: avi.c:vlc_vector_max_ Unexecuted instantiation: libavi.c:vlc_vector_max_ Unexecuted instantiation: caf.c:vlc_vector_max_ Unexecuted instantiation: cdg.c:vlc_vector_max_ Unexecuted instantiation: es.c:vlc_vector_max_ Unexecuted instantiation: dts_header.c:vlc_vector_max_ Unexecuted instantiation: flac.c:vlc_vector_max_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_max_ Unexecuted instantiation: h26x.c:vlc_vector_max_ Unexecuted instantiation: mjpeg.c:vlc_vector_max_ Unexecuted instantiation: mp4.c:vlc_vector_max_ Unexecuted instantiation: fragments.c:vlc_vector_max_ Unexecuted instantiation: attachments.c:vlc_vector_max_ Unexecuted instantiation: heif.c:vlc_vector_max_ Unexecuted instantiation: essetup.c:vlc_vector_max_ Unexecuted instantiation: meta.c:vlc_vector_max_ Unexecuted instantiation: libmp4.c:vlc_vector_max_ Unexecuted instantiation: nsv.c:vlc_vector_max_ Unexecuted instantiation: ps.c:vlc_vector_max_ Unexecuted instantiation: pva.c:vlc_vector_max_ Unexecuted instantiation: sap.c:vlc_vector_max_ Unexecuted instantiation: smf.c:vlc_vector_max_ Unexecuted instantiation: subtitle.c:vlc_vector_max_ Unexecuted instantiation: tta.c:vlc_vector_max_ Unexecuted instantiation: encttml.c:vlc_vector_max_ Unexecuted instantiation: substtml.c:vlc_vector_max_ Unexecuted instantiation: ttml.c:vlc_vector_max_ Unexecuted instantiation: ty.c:vlc_vector_max_ Unexecuted instantiation: voc.c:vlc_vector_max_ Unexecuted instantiation: wav.c:vlc_vector_max_ Unexecuted instantiation: webvtt.c:vlc_vector_max_ Unexecuted instantiation: encvtt.c:vlc_vector_max_ Unexecuted instantiation: subsvtt.c:vlc_vector_max_ Unexecuted instantiation: xa.c:vlc_vector_max_ Unexecuted instantiation: a52.c:vlc_vector_max_ Unexecuted instantiation: copy.c:vlc_vector_max_ Unexecuted instantiation: dts.c:vlc_vector_max_ Unexecuted instantiation: h264.c:vlc_vector_max_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_max_ Unexecuted instantiation: hxxx_common.c:vlc_vector_max_ Unexecuted instantiation: h264_nal.c:vlc_vector_max_ Unexecuted instantiation: hevc.c:vlc_vector_max_ Unexecuted instantiation: mlp.c:vlc_vector_max_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_max_ Unexecuted instantiation: mpeg4video.c:vlc_vector_max_ Unexecuted instantiation: mpegaudio.c:vlc_vector_max_ Unexecuted instantiation: mpegvideo.c:vlc_vector_max_ Unexecuted instantiation: vc1.c:vlc_vector_max_ Unexecuted instantiation: rawaud.c:vlc_vector_max_ Unexecuted instantiation: rawvid.c:vlc_vector_max_ Unexecuted instantiation: file.c:vlc_vector_max_ Unexecuted instantiation: directory.c:vlc_vector_max_ Unexecuted instantiation: libxml.c:vlc_vector_max_ Unexecuted instantiation: ogg.c:vlc_vector_max_ Unexecuted instantiation: oggseek.c:vlc_vector_max_ Unexecuted instantiation: mkv.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_max_(unsigned long, unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_max_ Unexecuted instantiation: aes3.c:vlc_vector_max_ Unexecuted instantiation: araw.c:vlc_vector_max_ Unexecuted instantiation: g711.c:vlc_vector_max_ Unexecuted instantiation: lpcm.c:vlc_vector_max_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_max_ Unexecuted instantiation: rawvideo.c:vlc_vector_max_ Unexecuted instantiation: cc.c:vlc_vector_max_ Unexecuted instantiation: cea708.c:vlc_vector_max_ Unexecuted instantiation: cvdsub.c:vlc_vector_max_ Unexecuted instantiation: dvbsub.c:vlc_vector_max_ Unexecuted instantiation: scte18.c:vlc_vector_max_ Unexecuted instantiation: scte27.c:vlc_vector_max_ Unexecuted instantiation: spudec.c:vlc_vector_max_ Unexecuted instantiation: parse.c:vlc_vector_max_ Unexecuted instantiation: stl.c:vlc_vector_max_ Unexecuted instantiation: subsdec.c:vlc_vector_max_ Unexecuted instantiation: subsusf.c:vlc_vector_max_ Unexecuted instantiation: svcdsub.c:vlc_vector_max_ Unexecuted instantiation: textst.c:vlc_vector_max_ Unexecuted instantiation: substx3g.c:vlc_vector_max_ Unexecuted instantiation: libvlc.c:vlc_vector_max_ Unexecuted instantiation: chain.c:vlc_vector_max_ Unexecuted instantiation: help.c:vlc_vector_max_ Unexecuted instantiation: cmdline.c:vlc_vector_max_ Unexecuted instantiation: media_source.c:vlc_vector_max_ Unexecuted instantiation: media_tree.c:vlc_vector_max_ Unexecuted instantiation: modules.c:vlc_vector_max_ Unexecuted instantiation: bank.c:vlc_vector_max_ Unexecuted instantiation: entry.c:vlc_vector_max_ Unexecuted instantiation: dialog.c:vlc_vector_max_ Unexecuted instantiation: interface.c:vlc_vector_max_ Unexecuted instantiation: content.c:vlc_vector_max_ Unexecuted instantiation: control.c:vlc_vector_max_ Unexecuted instantiation: item.c:vlc_vector_max_ Unexecuted instantiation: notify.c:vlc_vector_max_ Unexecuted instantiation: player.c:vlc_vector_max_ Unexecuted instantiation: playlist.c:vlc_vector_max_ Unexecuted instantiation: preparse.c:vlc_vector_max_ Unexecuted instantiation: randomizer.c:vlc_vector_max_ Unexecuted instantiation: preparser.c:vlc_vector_max_ Unexecuted instantiation: access.c:vlc_vector_max_ Unexecuted instantiation: decoder_device.c:vlc_vector_max_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_max_ Unexecuted instantiation: demux.c:vlc_vector_max_ Unexecuted instantiation: input.c:vlc_vector_max_ Unexecuted instantiation: attachment.c:vlc_vector_max_ Unexecuted instantiation: timer.c:vlc_vector_max_ Unexecuted instantiation: track.c:vlc_vector_max_ Unexecuted instantiation: title.c:vlc_vector_max_ Unexecuted instantiation: aout.c:vlc_vector_max_ Unexecuted instantiation: vout.c:vlc_vector_max_ Unexecuted instantiation: osd.c:vlc_vector_max_ Unexecuted instantiation: medialib.c:vlc_vector_max_ Unexecuted instantiation: resource.c:vlc_vector_max_ Unexecuted instantiation: services_discovery.c:vlc_vector_max_ Unexecuted instantiation: stats.c:vlc_vector_max_ Unexecuted instantiation: stream.c:vlc_vector_max_ Unexecuted instantiation: stream_extractor.c:vlc_vector_max_ Unexecuted instantiation: stream_filter.c:vlc_vector_max_ Unexecuted instantiation: stream_memory.c:vlc_vector_max_ Unexecuted instantiation: subtitles.c:vlc_vector_max_ Unexecuted instantiation: common.c:vlc_vector_max_ Unexecuted instantiation: dec.c:vlc_vector_max_ Unexecuted instantiation: filters.c:vlc_vector_max_ Unexecuted instantiation: meter.c:vlc_vector_max_ Unexecuted instantiation: output.c:vlc_vector_max_ Unexecuted instantiation: volume.c:vlc_vector_max_ Unexecuted instantiation: video_output.c:vlc_vector_max_ Unexecuted instantiation: video_text.c:vlc_vector_max_ Unexecuted instantiation: video_widgets.c:vlc_vector_max_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_max_ Unexecuted instantiation: video_window.c:vlc_vector_max_ Unexecuted instantiation: window.c:vlc_vector_max_ Unexecuted instantiation: vout_intf.c:vlc_vector_max_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_max_ Unexecuted instantiation: charset.c:vlc_vector_max_ Unexecuted instantiation: strings.c:vlc_vector_max_ Unexecuted instantiation: unicode.c:vlc_vector_max_ Unexecuted instantiation: actions.c:vlc_vector_max_ ancillary.c:vlc_vector_max_ Line | Count | Source | 123 | 8.01k | { | 124 | 8.01k | return a > b ? a : b; | 125 | 8.01k | } |
Unexecuted instantiation: executor.c:vlc_vector_max_ Unexecuted instantiation: probe.c:vlc_vector_max_ Unexecuted instantiation: frame.c:vlc_vector_max_ Unexecuted instantiation: fifo.c:vlc_vector_max_ Unexecuted instantiation: fourcc.c:vlc_vector_max_ Unexecuted instantiation: picture.c:vlc_vector_max_ Unexecuted instantiation: picture_fifo.c:vlc_vector_max_ Unexecuted instantiation: picture_pool.c:vlc_vector_max_ Unexecuted instantiation: interrupt.c:vlc_vector_max_ Unexecuted instantiation: keystore.c:vlc_vector_max_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_max_ Unexecuted instantiation: threads.c:vlc_vector_max_ Unexecuted instantiation: cpu.c:vlc_vector_max_ Unexecuted instantiation: exit.c:vlc_vector_max_ Unexecuted instantiation: image.c:vlc_vector_max_ Unexecuted instantiation: messages.c:vlc_vector_max_ Unexecuted instantiation: tracer.c:vlc_vector_max_ Unexecuted instantiation: objects.c:vlc_vector_max_ Unexecuted instantiation: objres.c:vlc_vector_max_ Unexecuted instantiation: variables.c:vlc_vector_max_ Unexecuted instantiation: xml.c:vlc_vector_max_ Unexecuted instantiation: filter.c:vlc_vector_max_ Unexecuted instantiation: filter_chain.c:vlc_vector_max_ Unexecuted instantiation: subpicture.c:vlc_vector_max_ Unexecuted instantiation: medialibrary.c:vlc_vector_max_ Unexecuted instantiation: thread.c:vlc_vector_max_ Unexecuted instantiation: specific.c:vlc_vector_max_ Unexecuted instantiation: stream_output.c:vlc_vector_max_ Unexecuted instantiation: vlm.c:vlc_vector_max_ Unexecuted instantiation: vlm_event.c:vlc_vector_max_ Unexecuted instantiation: vlmshell.c:vlc_vector_max_ Unexecuted instantiation: libvlc-module.c:vlc_vector_max_ Unexecuted instantiation: art.c:vlc_vector_max_ Unexecuted instantiation: fetcher.c:vlc_vector_max_ Unexecuted instantiation: clock.c:vlc_vector_max_ Unexecuted instantiation: es_out.c:vlc_vector_max_ Unexecuted instantiation: es_out_source.c:vlc_vector_max_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_max_ Unexecuted instantiation: display.c:vlc_vector_max_ Unexecuted instantiation: inhibit.c:vlc_vector_max_ Unexecuted instantiation: interlacing.c:vlc_vector_max_ Unexecuted instantiation: snapshot.c:vlc_vector_max_ Unexecuted instantiation: chroma_probe.c:vlc_vector_max_ Unexecuted instantiation: dirs.c:vlc_vector_max_ Unexecuted instantiation: input_clock.c:vlc_vector_max_ |
126 | | |
127 | | static inline size_t |
128 | | vlc_vector_between_(size_t x, size_t min, size_t max) |
129 | 2.00k | { |
130 | 2.00k | return vlc_vector_max_(min, vlc_vector_min_(max, x)); |
131 | 2.00k | } Unexecuted instantiation: demux-run.c:vlc_vector_between_ Unexecuted instantiation: var.c:vlc_vector_between_ Unexecuted instantiation: decoder.c:vlc_vector_between_ Unexecuted instantiation: core.c:vlc_vector_between_ Unexecuted instantiation: aiff.c:vlc_vector_between_ Unexecuted instantiation: asf.c:vlc_vector_between_ Unexecuted instantiation: libasf.c:vlc_vector_between_ Unexecuted instantiation: asfpacket.c:vlc_vector_between_ Unexecuted instantiation: au.c:vlc_vector_between_ Unexecuted instantiation: avi.c:vlc_vector_between_ Unexecuted instantiation: libavi.c:vlc_vector_between_ Unexecuted instantiation: caf.c:vlc_vector_between_ Unexecuted instantiation: cdg.c:vlc_vector_between_ Unexecuted instantiation: es.c:vlc_vector_between_ Unexecuted instantiation: dts_header.c:vlc_vector_between_ Unexecuted instantiation: flac.c:vlc_vector_between_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_between_ Unexecuted instantiation: h26x.c:vlc_vector_between_ Unexecuted instantiation: mjpeg.c:vlc_vector_between_ Unexecuted instantiation: mp4.c:vlc_vector_between_ Unexecuted instantiation: fragments.c:vlc_vector_between_ Unexecuted instantiation: attachments.c:vlc_vector_between_ Unexecuted instantiation: heif.c:vlc_vector_between_ Unexecuted instantiation: essetup.c:vlc_vector_between_ Unexecuted instantiation: meta.c:vlc_vector_between_ Unexecuted instantiation: libmp4.c:vlc_vector_between_ Unexecuted instantiation: nsv.c:vlc_vector_between_ Unexecuted instantiation: ps.c:vlc_vector_between_ Unexecuted instantiation: pva.c:vlc_vector_between_ Unexecuted instantiation: sap.c:vlc_vector_between_ Unexecuted instantiation: smf.c:vlc_vector_between_ Unexecuted instantiation: subtitle.c:vlc_vector_between_ Unexecuted instantiation: tta.c:vlc_vector_between_ Unexecuted instantiation: encttml.c:vlc_vector_between_ Unexecuted instantiation: substtml.c:vlc_vector_between_ Unexecuted instantiation: ttml.c:vlc_vector_between_ Unexecuted instantiation: ty.c:vlc_vector_between_ Unexecuted instantiation: voc.c:vlc_vector_between_ Unexecuted instantiation: wav.c:vlc_vector_between_ Unexecuted instantiation: webvtt.c:vlc_vector_between_ Unexecuted instantiation: encvtt.c:vlc_vector_between_ Unexecuted instantiation: subsvtt.c:vlc_vector_between_ Unexecuted instantiation: xa.c:vlc_vector_between_ Unexecuted instantiation: a52.c:vlc_vector_between_ Unexecuted instantiation: copy.c:vlc_vector_between_ Unexecuted instantiation: dts.c:vlc_vector_between_ Unexecuted instantiation: h264.c:vlc_vector_between_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_between_ Unexecuted instantiation: hxxx_common.c:vlc_vector_between_ Unexecuted instantiation: h264_nal.c:vlc_vector_between_ Unexecuted instantiation: hevc.c:vlc_vector_between_ Unexecuted instantiation: mlp.c:vlc_vector_between_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_between_ Unexecuted instantiation: mpeg4video.c:vlc_vector_between_ Unexecuted instantiation: mpegaudio.c:vlc_vector_between_ Unexecuted instantiation: mpegvideo.c:vlc_vector_between_ Unexecuted instantiation: vc1.c:vlc_vector_between_ Unexecuted instantiation: rawaud.c:vlc_vector_between_ Unexecuted instantiation: rawvid.c:vlc_vector_between_ Unexecuted instantiation: file.c:vlc_vector_between_ Unexecuted instantiation: directory.c:vlc_vector_between_ Unexecuted instantiation: libxml.c:vlc_vector_between_ Unexecuted instantiation: ogg.c:vlc_vector_between_ Unexecuted instantiation: oggseek.c:vlc_vector_between_ Unexecuted instantiation: mkv.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_between_(unsigned long, unsigned long, unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_between_ Unexecuted instantiation: aes3.c:vlc_vector_between_ Unexecuted instantiation: araw.c:vlc_vector_between_ Unexecuted instantiation: g711.c:vlc_vector_between_ Unexecuted instantiation: lpcm.c:vlc_vector_between_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_between_ Unexecuted instantiation: rawvideo.c:vlc_vector_between_ Unexecuted instantiation: cc.c:vlc_vector_between_ Unexecuted instantiation: cea708.c:vlc_vector_between_ Unexecuted instantiation: cvdsub.c:vlc_vector_between_ Unexecuted instantiation: dvbsub.c:vlc_vector_between_ Unexecuted instantiation: scte18.c:vlc_vector_between_ Unexecuted instantiation: scte27.c:vlc_vector_between_ Unexecuted instantiation: spudec.c:vlc_vector_between_ Unexecuted instantiation: parse.c:vlc_vector_between_ Unexecuted instantiation: stl.c:vlc_vector_between_ Unexecuted instantiation: subsdec.c:vlc_vector_between_ Unexecuted instantiation: subsusf.c:vlc_vector_between_ Unexecuted instantiation: svcdsub.c:vlc_vector_between_ Unexecuted instantiation: textst.c:vlc_vector_between_ Unexecuted instantiation: substx3g.c:vlc_vector_between_ Unexecuted instantiation: libvlc.c:vlc_vector_between_ Unexecuted instantiation: chain.c:vlc_vector_between_ Unexecuted instantiation: help.c:vlc_vector_between_ Unexecuted instantiation: cmdline.c:vlc_vector_between_ Unexecuted instantiation: media_source.c:vlc_vector_between_ Unexecuted instantiation: media_tree.c:vlc_vector_between_ Unexecuted instantiation: modules.c:vlc_vector_between_ Unexecuted instantiation: bank.c:vlc_vector_between_ Unexecuted instantiation: entry.c:vlc_vector_between_ Unexecuted instantiation: dialog.c:vlc_vector_between_ Unexecuted instantiation: interface.c:vlc_vector_between_ Unexecuted instantiation: content.c:vlc_vector_between_ Unexecuted instantiation: control.c:vlc_vector_between_ Unexecuted instantiation: item.c:vlc_vector_between_ Unexecuted instantiation: notify.c:vlc_vector_between_ Unexecuted instantiation: player.c:vlc_vector_between_ Unexecuted instantiation: playlist.c:vlc_vector_between_ Unexecuted instantiation: preparse.c:vlc_vector_between_ Unexecuted instantiation: randomizer.c:vlc_vector_between_ Unexecuted instantiation: preparser.c:vlc_vector_between_ Unexecuted instantiation: access.c:vlc_vector_between_ Unexecuted instantiation: decoder_device.c:vlc_vector_between_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_between_ Unexecuted instantiation: demux.c:vlc_vector_between_ Unexecuted instantiation: input.c:vlc_vector_between_ Unexecuted instantiation: attachment.c:vlc_vector_between_ Unexecuted instantiation: timer.c:vlc_vector_between_ Unexecuted instantiation: track.c:vlc_vector_between_ Unexecuted instantiation: title.c:vlc_vector_between_ Unexecuted instantiation: aout.c:vlc_vector_between_ Unexecuted instantiation: vout.c:vlc_vector_between_ Unexecuted instantiation: osd.c:vlc_vector_between_ Unexecuted instantiation: medialib.c:vlc_vector_between_ Unexecuted instantiation: resource.c:vlc_vector_between_ Unexecuted instantiation: services_discovery.c:vlc_vector_between_ Unexecuted instantiation: stats.c:vlc_vector_between_ Unexecuted instantiation: stream.c:vlc_vector_between_ Unexecuted instantiation: stream_extractor.c:vlc_vector_between_ Unexecuted instantiation: stream_filter.c:vlc_vector_between_ Unexecuted instantiation: stream_memory.c:vlc_vector_between_ Unexecuted instantiation: subtitles.c:vlc_vector_between_ Unexecuted instantiation: common.c:vlc_vector_between_ Unexecuted instantiation: dec.c:vlc_vector_between_ Unexecuted instantiation: filters.c:vlc_vector_between_ Unexecuted instantiation: meter.c:vlc_vector_between_ Unexecuted instantiation: output.c:vlc_vector_between_ Unexecuted instantiation: volume.c:vlc_vector_between_ Unexecuted instantiation: video_output.c:vlc_vector_between_ Unexecuted instantiation: video_text.c:vlc_vector_between_ Unexecuted instantiation: video_widgets.c:vlc_vector_between_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_between_ Unexecuted instantiation: video_window.c:vlc_vector_between_ Unexecuted instantiation: window.c:vlc_vector_between_ Unexecuted instantiation: vout_intf.c:vlc_vector_between_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_between_ Unexecuted instantiation: charset.c:vlc_vector_between_ Unexecuted instantiation: strings.c:vlc_vector_between_ Unexecuted instantiation: unicode.c:vlc_vector_between_ Unexecuted instantiation: actions.c:vlc_vector_between_ ancillary.c:vlc_vector_between_ Line | Count | Source | 129 | 2.00k | { | 130 | 2.00k | return vlc_vector_max_(min, vlc_vector_min_(max, x)); | 131 | 2.00k | } |
Unexecuted instantiation: executor.c:vlc_vector_between_ Unexecuted instantiation: probe.c:vlc_vector_between_ Unexecuted instantiation: frame.c:vlc_vector_between_ Unexecuted instantiation: fifo.c:vlc_vector_between_ Unexecuted instantiation: fourcc.c:vlc_vector_between_ Unexecuted instantiation: picture.c:vlc_vector_between_ Unexecuted instantiation: picture_fifo.c:vlc_vector_between_ Unexecuted instantiation: picture_pool.c:vlc_vector_between_ Unexecuted instantiation: interrupt.c:vlc_vector_between_ Unexecuted instantiation: keystore.c:vlc_vector_between_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_between_ Unexecuted instantiation: threads.c:vlc_vector_between_ Unexecuted instantiation: cpu.c:vlc_vector_between_ Unexecuted instantiation: exit.c:vlc_vector_between_ Unexecuted instantiation: image.c:vlc_vector_between_ Unexecuted instantiation: messages.c:vlc_vector_between_ Unexecuted instantiation: tracer.c:vlc_vector_between_ Unexecuted instantiation: objects.c:vlc_vector_between_ Unexecuted instantiation: objres.c:vlc_vector_between_ Unexecuted instantiation: variables.c:vlc_vector_between_ Unexecuted instantiation: xml.c:vlc_vector_between_ Unexecuted instantiation: filter.c:vlc_vector_between_ Unexecuted instantiation: filter_chain.c:vlc_vector_between_ Unexecuted instantiation: subpicture.c:vlc_vector_between_ Unexecuted instantiation: medialibrary.c:vlc_vector_between_ Unexecuted instantiation: thread.c:vlc_vector_between_ Unexecuted instantiation: specific.c:vlc_vector_between_ Unexecuted instantiation: stream_output.c:vlc_vector_between_ Unexecuted instantiation: vlm.c:vlc_vector_between_ Unexecuted instantiation: vlm_event.c:vlc_vector_between_ Unexecuted instantiation: vlmshell.c:vlc_vector_between_ Unexecuted instantiation: libvlc-module.c:vlc_vector_between_ Unexecuted instantiation: art.c:vlc_vector_between_ Unexecuted instantiation: fetcher.c:vlc_vector_between_ Unexecuted instantiation: clock.c:vlc_vector_between_ Unexecuted instantiation: es_out.c:vlc_vector_between_ Unexecuted instantiation: es_out_source.c:vlc_vector_between_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_between_ Unexecuted instantiation: display.c:vlc_vector_between_ Unexecuted instantiation: inhibit.c:vlc_vector_between_ Unexecuted instantiation: interlacing.c:vlc_vector_between_ Unexecuted instantiation: snapshot.c:vlc_vector_between_ Unexecuted instantiation: chroma_probe.c:vlc_vector_between_ Unexecuted instantiation: dirs.c:vlc_vector_between_ Unexecuted instantiation: input_clock.c:vlc_vector_between_ |
132 | | |
133 | | static inline size_t |
134 | | vlc_vector_enforce_size_t_(size_t value) |
135 | 0 | { |
136 | 0 | return value; |
137 | 0 | } Unexecuted instantiation: demux-run.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: var.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: decoder.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: core.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: aiff.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: asf.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: libasf.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: asfpacket.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: au.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: avi.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: libavi.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: caf.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: cdg.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: es.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: dts_header.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: flac.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: h26x.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mjpeg.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mp4.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: fragments.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: attachments.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: heif.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: essetup.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: meta.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: libmp4.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: nsv.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: ps.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: pva.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: sap.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: smf.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: subtitle.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: tta.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: encttml.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: substtml.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: ttml.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: ty.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: voc.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: wav.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: webvtt.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: encvtt.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: subsvtt.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: xa.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: a52.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: copy.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: dts.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: h264.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: hxxx_common.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: h264_nal.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: hevc.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mlp.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mpeg4video.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mpegaudio.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mpegvideo.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vc1.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: rawaud.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: rawvid.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: file.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: directory.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: libxml.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: ogg.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: oggseek.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: mkv.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_enforce_size_t_(unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: aes3.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: araw.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: g711.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: lpcm.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: rawvideo.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: cc.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: cea708.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: cvdsub.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: dvbsub.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: scte18.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: scte27.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: spudec.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: parse.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: stl.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: subsdec.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: subsusf.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: svcdsub.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: textst.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: substx3g.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: libvlc.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: chain.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: help.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: cmdline.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: media_source.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: media_tree.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: modules.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: bank.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: entry.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: dialog.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: interface.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: content.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: control.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: item.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: notify.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: player.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: playlist.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: preparse.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: randomizer.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: preparser.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: access.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: decoder_device.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: demux.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: input.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: attachment.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: timer.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: track.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: title.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: aout.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vout.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: osd.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: medialib.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: resource.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: services_discovery.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: stats.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: stream.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: stream_extractor.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: stream_filter.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: stream_memory.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: subtitles.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: common.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: dec.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: filters.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: meter.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: output.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: volume.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: video_output.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: video_text.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: video_widgets.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: video_window.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: window.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vout_intf.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: charset.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: strings.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: unicode.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: actions.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: ancillary.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: executor.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: probe.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: frame.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: fifo.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: fourcc.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: picture.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: picture_fifo.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: picture_pool.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: interrupt.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: keystore.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: threads.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: cpu.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: exit.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: image.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: messages.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: tracer.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: objects.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: objres.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: variables.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: xml.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: filter.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: filter_chain.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: subpicture.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: medialibrary.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: thread.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: specific.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: stream_output.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vlm.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vlm_event.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: vlmshell.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: libvlc-module.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: art.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: fetcher.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: clock.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: es_out.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: es_out_source.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: display.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: inhibit.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: interlacing.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: snapshot.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: chroma_probe.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: dirs.c:vlc_vector_enforce_size_t_ Unexecuted instantiation: input_clock.c:vlc_vector_enforce_size_t_ |
138 | | |
139 | 2.00k | #define VLC_VECTOR_FAILFLAG_ (~(((size_t) -1) >> 1)) /* only the MSB */ |
140 | | |
141 | | /** |
142 | | * Realloc data and update vector fields. |
143 | | * |
144 | | * On reallocation success, return the reallocated array and update the vector |
145 | | * capacity and size. |
146 | | * |
147 | | * On reallocation failure, return `ptr`, keep `*psize` untouched, and set the |
148 | | * failflag in `*pcap` to indicate allocation failure (to be consumed by |
149 | | * `vlc_vector_test_and_reset_failflag_()`). |
150 | | * |
151 | | * This weird behavior allows to simultaneously: |
152 | | * - not require compiler extensions like "statement expressions" |
153 | | * - keep the vector data, size and capacity unchanged on reallocation failure |
154 | | * - not require output variables other than vector fields from the caller |
155 | | * - not violate the strict aliasing rules |
156 | | * - report the reallocation status (success or failure) |
157 | | * |
158 | | * Private. |
159 | | * |
160 | | * \param ptr the current data to realloc |
161 | | * \param count the requested capacity, in number of items |
162 | | * \param size the size of one item |
163 | | * \param[in,out] pcap a pointer to the `cap` field of the vector |
164 | | * \param[in,out] psize a pointer to the `size` field of the vector |
165 | | * \return the reallocated array, or `ptr` if reallocation failed |
166 | | */ |
167 | | static inline void * |
168 | | vlc_vector_reallocdata_(void *ptr, size_t count, size_t size, |
169 | | size_t *restrict pcap, size_t *restrict psize) |
170 | 2.00k | { |
171 | 2.00k | void *n = vlc_reallocarray(ptr, count, size); |
172 | 2.00k | if (!n) |
173 | 0 | { |
174 | | /* this vector implementation guarantees that the capacity may not |
175 | | * exceed SIZE_MAX/2 (to prevent overflows), so we can use the MSB to |
176 | | * report allocation failure */ |
177 | 0 | *pcap |= VLC_VECTOR_FAILFLAG_; |
178 | 0 | return ptr; |
179 | 0 | } |
180 | 2.00k | *pcap = count; |
181 | 2.00k | *psize = vlc_vector_min_(*psize, count); |
182 | 2.00k | return n; |
183 | 2.00k | } Unexecuted instantiation: demux-run.c:vlc_vector_reallocdata_ Unexecuted instantiation: var.c:vlc_vector_reallocdata_ Unexecuted instantiation: decoder.c:vlc_vector_reallocdata_ Unexecuted instantiation: core.c:vlc_vector_reallocdata_ Unexecuted instantiation: aiff.c:vlc_vector_reallocdata_ Unexecuted instantiation: asf.c:vlc_vector_reallocdata_ Unexecuted instantiation: libasf.c:vlc_vector_reallocdata_ Unexecuted instantiation: asfpacket.c:vlc_vector_reallocdata_ Unexecuted instantiation: au.c:vlc_vector_reallocdata_ Unexecuted instantiation: avi.c:vlc_vector_reallocdata_ Unexecuted instantiation: libavi.c:vlc_vector_reallocdata_ Unexecuted instantiation: caf.c:vlc_vector_reallocdata_ Unexecuted instantiation: cdg.c:vlc_vector_reallocdata_ Unexecuted instantiation: es.c:vlc_vector_reallocdata_ Unexecuted instantiation: dts_header.c:vlc_vector_reallocdata_ Unexecuted instantiation: flac.c:vlc_vector_reallocdata_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_reallocdata_ Unexecuted instantiation: h26x.c:vlc_vector_reallocdata_ Unexecuted instantiation: mjpeg.c:vlc_vector_reallocdata_ Unexecuted instantiation: mp4.c:vlc_vector_reallocdata_ Unexecuted instantiation: fragments.c:vlc_vector_reallocdata_ Unexecuted instantiation: attachments.c:vlc_vector_reallocdata_ Unexecuted instantiation: heif.c:vlc_vector_reallocdata_ Unexecuted instantiation: essetup.c:vlc_vector_reallocdata_ Unexecuted instantiation: meta.c:vlc_vector_reallocdata_ Unexecuted instantiation: libmp4.c:vlc_vector_reallocdata_ Unexecuted instantiation: nsv.c:vlc_vector_reallocdata_ Unexecuted instantiation: ps.c:vlc_vector_reallocdata_ Unexecuted instantiation: pva.c:vlc_vector_reallocdata_ Unexecuted instantiation: sap.c:vlc_vector_reallocdata_ Unexecuted instantiation: smf.c:vlc_vector_reallocdata_ Unexecuted instantiation: subtitle.c:vlc_vector_reallocdata_ Unexecuted instantiation: tta.c:vlc_vector_reallocdata_ Unexecuted instantiation: encttml.c:vlc_vector_reallocdata_ Unexecuted instantiation: substtml.c:vlc_vector_reallocdata_ Unexecuted instantiation: ttml.c:vlc_vector_reallocdata_ Unexecuted instantiation: ty.c:vlc_vector_reallocdata_ Unexecuted instantiation: voc.c:vlc_vector_reallocdata_ Unexecuted instantiation: wav.c:vlc_vector_reallocdata_ Unexecuted instantiation: webvtt.c:vlc_vector_reallocdata_ Unexecuted instantiation: encvtt.c:vlc_vector_reallocdata_ Unexecuted instantiation: subsvtt.c:vlc_vector_reallocdata_ Unexecuted instantiation: xa.c:vlc_vector_reallocdata_ Unexecuted instantiation: a52.c:vlc_vector_reallocdata_ Unexecuted instantiation: copy.c:vlc_vector_reallocdata_ Unexecuted instantiation: dts.c:vlc_vector_reallocdata_ Unexecuted instantiation: h264.c:vlc_vector_reallocdata_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_reallocdata_ Unexecuted instantiation: hxxx_common.c:vlc_vector_reallocdata_ Unexecuted instantiation: h264_nal.c:vlc_vector_reallocdata_ Unexecuted instantiation: hevc.c:vlc_vector_reallocdata_ Unexecuted instantiation: mlp.c:vlc_vector_reallocdata_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_reallocdata_ Unexecuted instantiation: mpeg4video.c:vlc_vector_reallocdata_ Unexecuted instantiation: mpegaudio.c:vlc_vector_reallocdata_ Unexecuted instantiation: mpegvideo.c:vlc_vector_reallocdata_ Unexecuted instantiation: vc1.c:vlc_vector_reallocdata_ Unexecuted instantiation: rawaud.c:vlc_vector_reallocdata_ Unexecuted instantiation: rawvid.c:vlc_vector_reallocdata_ Unexecuted instantiation: file.c:vlc_vector_reallocdata_ Unexecuted instantiation: directory.c:vlc_vector_reallocdata_ Unexecuted instantiation: libxml.c:vlc_vector_reallocdata_ Unexecuted instantiation: ogg.c:vlc_vector_reallocdata_ Unexecuted instantiation: oggseek.c:vlc_vector_reallocdata_ Unexecuted instantiation: mkv.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: util.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: demux.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: events.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: chapters.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: chapter_command.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_reallocdata_(void*, unsigned long, unsigned long, unsigned long*, unsigned long*) Unexecuted instantiation: adpcm.c:vlc_vector_reallocdata_ Unexecuted instantiation: aes3.c:vlc_vector_reallocdata_ Unexecuted instantiation: araw.c:vlc_vector_reallocdata_ Unexecuted instantiation: g711.c:vlc_vector_reallocdata_ Unexecuted instantiation: lpcm.c:vlc_vector_reallocdata_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_reallocdata_ Unexecuted instantiation: rawvideo.c:vlc_vector_reallocdata_ Unexecuted instantiation: cc.c:vlc_vector_reallocdata_ Unexecuted instantiation: cea708.c:vlc_vector_reallocdata_ Unexecuted instantiation: cvdsub.c:vlc_vector_reallocdata_ Unexecuted instantiation: dvbsub.c:vlc_vector_reallocdata_ Unexecuted instantiation: scte18.c:vlc_vector_reallocdata_ Unexecuted instantiation: scte27.c:vlc_vector_reallocdata_ Unexecuted instantiation: spudec.c:vlc_vector_reallocdata_ Unexecuted instantiation: parse.c:vlc_vector_reallocdata_ Unexecuted instantiation: stl.c:vlc_vector_reallocdata_ Unexecuted instantiation: subsdec.c:vlc_vector_reallocdata_ Unexecuted instantiation: subsusf.c:vlc_vector_reallocdata_ Unexecuted instantiation: svcdsub.c:vlc_vector_reallocdata_ Unexecuted instantiation: textst.c:vlc_vector_reallocdata_ Unexecuted instantiation: substx3g.c:vlc_vector_reallocdata_ Unexecuted instantiation: libvlc.c:vlc_vector_reallocdata_ Unexecuted instantiation: chain.c:vlc_vector_reallocdata_ Unexecuted instantiation: help.c:vlc_vector_reallocdata_ Unexecuted instantiation: cmdline.c:vlc_vector_reallocdata_ Unexecuted instantiation: media_source.c:vlc_vector_reallocdata_ Unexecuted instantiation: media_tree.c:vlc_vector_reallocdata_ Unexecuted instantiation: modules.c:vlc_vector_reallocdata_ Unexecuted instantiation: bank.c:vlc_vector_reallocdata_ Unexecuted instantiation: entry.c:vlc_vector_reallocdata_ Unexecuted instantiation: dialog.c:vlc_vector_reallocdata_ Unexecuted instantiation: interface.c:vlc_vector_reallocdata_ Unexecuted instantiation: content.c:vlc_vector_reallocdata_ Unexecuted instantiation: control.c:vlc_vector_reallocdata_ Unexecuted instantiation: item.c:vlc_vector_reallocdata_ Unexecuted instantiation: notify.c:vlc_vector_reallocdata_ Unexecuted instantiation: player.c:vlc_vector_reallocdata_ Unexecuted instantiation: playlist.c:vlc_vector_reallocdata_ Unexecuted instantiation: preparse.c:vlc_vector_reallocdata_ Unexecuted instantiation: randomizer.c:vlc_vector_reallocdata_ Unexecuted instantiation: preparser.c:vlc_vector_reallocdata_ Unexecuted instantiation: access.c:vlc_vector_reallocdata_ Unexecuted instantiation: decoder_device.c:vlc_vector_reallocdata_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_reallocdata_ Unexecuted instantiation: demux.c:vlc_vector_reallocdata_ Unexecuted instantiation: input.c:vlc_vector_reallocdata_ Unexecuted instantiation: attachment.c:vlc_vector_reallocdata_ Unexecuted instantiation: timer.c:vlc_vector_reallocdata_ Unexecuted instantiation: track.c:vlc_vector_reallocdata_ Unexecuted instantiation: title.c:vlc_vector_reallocdata_ Unexecuted instantiation: aout.c:vlc_vector_reallocdata_ Unexecuted instantiation: vout.c:vlc_vector_reallocdata_ Unexecuted instantiation: osd.c:vlc_vector_reallocdata_ Unexecuted instantiation: medialib.c:vlc_vector_reallocdata_ Unexecuted instantiation: resource.c:vlc_vector_reallocdata_ Unexecuted instantiation: services_discovery.c:vlc_vector_reallocdata_ Unexecuted instantiation: stats.c:vlc_vector_reallocdata_ Unexecuted instantiation: stream.c:vlc_vector_reallocdata_ Unexecuted instantiation: stream_extractor.c:vlc_vector_reallocdata_ Unexecuted instantiation: stream_filter.c:vlc_vector_reallocdata_ Unexecuted instantiation: stream_memory.c:vlc_vector_reallocdata_ Unexecuted instantiation: subtitles.c:vlc_vector_reallocdata_ Unexecuted instantiation: common.c:vlc_vector_reallocdata_ Unexecuted instantiation: dec.c:vlc_vector_reallocdata_ Unexecuted instantiation: filters.c:vlc_vector_reallocdata_ Unexecuted instantiation: meter.c:vlc_vector_reallocdata_ Unexecuted instantiation: output.c:vlc_vector_reallocdata_ Unexecuted instantiation: volume.c:vlc_vector_reallocdata_ Unexecuted instantiation: video_output.c:vlc_vector_reallocdata_ Unexecuted instantiation: video_text.c:vlc_vector_reallocdata_ Unexecuted instantiation: video_widgets.c:vlc_vector_reallocdata_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_reallocdata_ Unexecuted instantiation: video_window.c:vlc_vector_reallocdata_ Unexecuted instantiation: window.c:vlc_vector_reallocdata_ Unexecuted instantiation: vout_intf.c:vlc_vector_reallocdata_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_reallocdata_ Unexecuted instantiation: charset.c:vlc_vector_reallocdata_ Unexecuted instantiation: strings.c:vlc_vector_reallocdata_ Unexecuted instantiation: unicode.c:vlc_vector_reallocdata_ Unexecuted instantiation: actions.c:vlc_vector_reallocdata_ ancillary.c:vlc_vector_reallocdata_ Line | Count | Source | 170 | 2.00k | { | 171 | 2.00k | void *n = vlc_reallocarray(ptr, count, size); | 172 | 2.00k | if (!n) | 173 | 0 | { | 174 | | /* this vector implementation guarantees that the capacity may not | 175 | | * exceed SIZE_MAX/2 (to prevent overflows), so we can use the MSB to | 176 | | * report allocation failure */ | 177 | 0 | *pcap |= VLC_VECTOR_FAILFLAG_; | 178 | 0 | return ptr; | 179 | 0 | } | 180 | 2.00k | *pcap = count; | 181 | 2.00k | *psize = vlc_vector_min_(*psize, count); | 182 | 2.00k | return n; | 183 | 2.00k | } |
Unexecuted instantiation: executor.c:vlc_vector_reallocdata_ Unexecuted instantiation: probe.c:vlc_vector_reallocdata_ Unexecuted instantiation: frame.c:vlc_vector_reallocdata_ Unexecuted instantiation: fifo.c:vlc_vector_reallocdata_ Unexecuted instantiation: fourcc.c:vlc_vector_reallocdata_ Unexecuted instantiation: picture.c:vlc_vector_reallocdata_ Unexecuted instantiation: picture_fifo.c:vlc_vector_reallocdata_ Unexecuted instantiation: picture_pool.c:vlc_vector_reallocdata_ Unexecuted instantiation: interrupt.c:vlc_vector_reallocdata_ Unexecuted instantiation: keystore.c:vlc_vector_reallocdata_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_reallocdata_ Unexecuted instantiation: threads.c:vlc_vector_reallocdata_ Unexecuted instantiation: cpu.c:vlc_vector_reallocdata_ Unexecuted instantiation: exit.c:vlc_vector_reallocdata_ Unexecuted instantiation: image.c:vlc_vector_reallocdata_ Unexecuted instantiation: messages.c:vlc_vector_reallocdata_ Unexecuted instantiation: tracer.c:vlc_vector_reallocdata_ Unexecuted instantiation: objects.c:vlc_vector_reallocdata_ Unexecuted instantiation: objres.c:vlc_vector_reallocdata_ Unexecuted instantiation: variables.c:vlc_vector_reallocdata_ Unexecuted instantiation: xml.c:vlc_vector_reallocdata_ Unexecuted instantiation: filter.c:vlc_vector_reallocdata_ Unexecuted instantiation: filter_chain.c:vlc_vector_reallocdata_ Unexecuted instantiation: subpicture.c:vlc_vector_reallocdata_ Unexecuted instantiation: medialibrary.c:vlc_vector_reallocdata_ Unexecuted instantiation: thread.c:vlc_vector_reallocdata_ Unexecuted instantiation: specific.c:vlc_vector_reallocdata_ Unexecuted instantiation: stream_output.c:vlc_vector_reallocdata_ Unexecuted instantiation: vlm.c:vlc_vector_reallocdata_ Unexecuted instantiation: vlm_event.c:vlc_vector_reallocdata_ Unexecuted instantiation: vlmshell.c:vlc_vector_reallocdata_ Unexecuted instantiation: libvlc-module.c:vlc_vector_reallocdata_ Unexecuted instantiation: art.c:vlc_vector_reallocdata_ Unexecuted instantiation: fetcher.c:vlc_vector_reallocdata_ Unexecuted instantiation: clock.c:vlc_vector_reallocdata_ Unexecuted instantiation: es_out.c:vlc_vector_reallocdata_ Unexecuted instantiation: es_out_source.c:vlc_vector_reallocdata_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_reallocdata_ Unexecuted instantiation: display.c:vlc_vector_reallocdata_ Unexecuted instantiation: inhibit.c:vlc_vector_reallocdata_ Unexecuted instantiation: interlacing.c:vlc_vector_reallocdata_ Unexecuted instantiation: snapshot.c:vlc_vector_reallocdata_ Unexecuted instantiation: chroma_probe.c:vlc_vector_reallocdata_ Unexecuted instantiation: dirs.c:vlc_vector_reallocdata_ Unexecuted instantiation: input_clock.c:vlc_vector_reallocdata_ |
184 | | |
185 | | /** |
186 | | * Test and reset the fail flag. |
187 | | * |
188 | | * \retval true if the flag was set |
189 | | * \retval false if the flag was not set |
190 | | */ |
191 | | static inline bool |
192 | | vlc_vector_test_and_reset_failflag_(size_t *pcap) |
193 | 2.00k | { |
194 | 2.00k | if (*pcap & VLC_VECTOR_FAILFLAG_) |
195 | 0 | { |
196 | 0 | *pcap &= ~VLC_VECTOR_FAILFLAG_; |
197 | 0 | return true; |
198 | 0 | } |
199 | 2.00k | return false; |
200 | 2.00k | } Unexecuted instantiation: demux-run.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: var.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: decoder.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: core.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: aiff.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: asf.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: libasf.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: asfpacket.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: au.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: avi.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: libavi.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: caf.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: cdg.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: es.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: dts_header.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: flac.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: h26x.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mjpeg.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mp4.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: fragments.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: attachments.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: heif.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: essetup.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: meta.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: libmp4.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: nsv.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: ps.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: pva.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: sap.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: smf.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: subtitle.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: tta.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: encttml.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: substtml.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: ttml.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: ty.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: voc.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: wav.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: webvtt.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: encvtt.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: subsvtt.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: xa.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: a52.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: copy.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: dts.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: h264.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: hxxx_common.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: h264_nal.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: hevc.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mlp.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mpeg4video.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mpegaudio.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mpegvideo.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vc1.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: rawaud.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: rawvid.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: file.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: directory.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: libxml.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: ogg.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: oggseek.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: mkv.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: util.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: demux.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: events.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: chapters.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: chapter_command.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_test_and_reset_failflag_(unsigned long*) Unexecuted instantiation: adpcm.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: aes3.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: araw.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: g711.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: lpcm.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: rawvideo.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: cc.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: cea708.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: cvdsub.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: dvbsub.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: scte18.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: scte27.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: spudec.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: parse.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: stl.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: subsdec.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: subsusf.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: svcdsub.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: textst.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: substx3g.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: libvlc.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: chain.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: help.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: cmdline.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: media_source.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: media_tree.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: modules.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: bank.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: entry.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: dialog.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: interface.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: content.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: control.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: item.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: notify.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: player.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: playlist.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: preparse.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: randomizer.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: preparser.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: access.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: decoder_device.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: demux.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: input.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: attachment.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: timer.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: track.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: title.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: aout.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vout.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: osd.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: medialib.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: resource.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: services_discovery.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: stats.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: stream.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: stream_extractor.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: stream_filter.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: stream_memory.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: subtitles.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: common.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: dec.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: filters.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: meter.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: output.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: volume.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: video_output.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: video_text.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: video_widgets.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: video_window.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: window.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vout_intf.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: charset.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: strings.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: unicode.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: actions.c:vlc_vector_test_and_reset_failflag_ ancillary.c:vlc_vector_test_and_reset_failflag_ Line | Count | Source | 193 | 2.00k | { | 194 | 2.00k | if (*pcap & VLC_VECTOR_FAILFLAG_) | 195 | 0 | { | 196 | 0 | *pcap &= ~VLC_VECTOR_FAILFLAG_; | 197 | 0 | return true; | 198 | 0 | } | 199 | 2.00k | return false; | 200 | 2.00k | } |
Unexecuted instantiation: executor.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: probe.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: frame.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: fifo.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: fourcc.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: picture.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: picture_fifo.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: picture_pool.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: interrupt.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: keystore.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: threads.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: cpu.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: exit.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: image.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: messages.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: tracer.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: objects.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: objres.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: variables.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: xml.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: filter.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: filter_chain.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: subpicture.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: medialibrary.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: thread.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: specific.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: stream_output.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vlm.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vlm_event.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: vlmshell.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: libvlc-module.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: art.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: fetcher.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: clock.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: es_out.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: es_out_source.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: display.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: inhibit.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: interlacing.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: snapshot.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: chroma_probe.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: dirs.c:vlc_vector_test_and_reset_failflag_ Unexecuted instantiation: input_clock.c:vlc_vector_test_and_reset_failflag_ |
201 | | |
202 | | /** |
203 | | * Realloc the underlying array to `newcap`. |
204 | | * |
205 | | * Private. |
206 | | * |
207 | | * \param pv a pointer to the vector |
208 | | * \param newcap (size_t) the requested size |
209 | | * \retval true if no allocation failed |
210 | | * \retval false on allocation failure (the vector is left untouched) |
211 | | */ |
212 | 2.00k | #define vlc_vector_realloc_(pv, newcap) \ |
213 | 2.00k | ( \ |
214 | 2.00k | (pv)->data = vlc_vector_reallocdata_((pv)->data, newcap, \ |
215 | 2.00k | sizeof(*(pv)->data), \ |
216 | 2.00k | &(pv)->cap, &(pv)->size), \ |
217 | 2.00k | !vlc_vector_test_and_reset_failflag_(&(pv)->cap) \ |
218 | 2.00k | ) |
219 | | |
220 | | /** |
221 | | * Resize the vector to `newcap` exactly. |
222 | | * |
223 | | * If `newcap` is 0, the vector is cleared. |
224 | | * |
225 | | * Private. |
226 | | * |
227 | | * \param pv a pointer to the vector |
228 | | * \param newcap (size_t) the requested capacity |
229 | | * \retval true if no allocation failed |
230 | | * \retval false on allocation failure (the vector is left untouched) |
231 | | */ |
232 | 0 | #define vlc_vector_resize_(pv, newcap) \ |
233 | 0 | ( \ |
234 | 0 | (pv)->cap == (newcap) /* nothing to do */ || \ |
235 | 0 | ( \ |
236 | 0 | (newcap) > 0 ? vlc_vector_realloc_(pv, newcap) \ |
237 | 0 | : (vlc_vector_clear(pv), true) \ |
238 | 0 | ) \ |
239 | 0 | ) |
240 | | |
241 | | static inline size_t |
242 | | vlc_vector_growsize_(size_t value) |
243 | 2.00k | { |
244 | | /* integer multiplication by 1.5 */ |
245 | 2.00k | return value + (value >> 1); |
246 | 2.00k | } Unexecuted instantiation: demux-run.c:vlc_vector_growsize_ Unexecuted instantiation: var.c:vlc_vector_growsize_ Unexecuted instantiation: decoder.c:vlc_vector_growsize_ Unexecuted instantiation: core.c:vlc_vector_growsize_ Unexecuted instantiation: aiff.c:vlc_vector_growsize_ Unexecuted instantiation: asf.c:vlc_vector_growsize_ Unexecuted instantiation: libasf.c:vlc_vector_growsize_ Unexecuted instantiation: asfpacket.c:vlc_vector_growsize_ Unexecuted instantiation: au.c:vlc_vector_growsize_ Unexecuted instantiation: avi.c:vlc_vector_growsize_ Unexecuted instantiation: libavi.c:vlc_vector_growsize_ Unexecuted instantiation: caf.c:vlc_vector_growsize_ Unexecuted instantiation: cdg.c:vlc_vector_growsize_ Unexecuted instantiation: es.c:vlc_vector_growsize_ Unexecuted instantiation: dts_header.c:vlc_vector_growsize_ Unexecuted instantiation: flac.c:vlc_vector_growsize_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_growsize_ Unexecuted instantiation: h26x.c:vlc_vector_growsize_ Unexecuted instantiation: mjpeg.c:vlc_vector_growsize_ Unexecuted instantiation: mp4.c:vlc_vector_growsize_ Unexecuted instantiation: fragments.c:vlc_vector_growsize_ Unexecuted instantiation: attachments.c:vlc_vector_growsize_ Unexecuted instantiation: heif.c:vlc_vector_growsize_ Unexecuted instantiation: essetup.c:vlc_vector_growsize_ Unexecuted instantiation: meta.c:vlc_vector_growsize_ Unexecuted instantiation: libmp4.c:vlc_vector_growsize_ Unexecuted instantiation: nsv.c:vlc_vector_growsize_ Unexecuted instantiation: ps.c:vlc_vector_growsize_ Unexecuted instantiation: pva.c:vlc_vector_growsize_ Unexecuted instantiation: sap.c:vlc_vector_growsize_ Unexecuted instantiation: smf.c:vlc_vector_growsize_ Unexecuted instantiation: subtitle.c:vlc_vector_growsize_ Unexecuted instantiation: tta.c:vlc_vector_growsize_ Unexecuted instantiation: encttml.c:vlc_vector_growsize_ Unexecuted instantiation: substtml.c:vlc_vector_growsize_ Unexecuted instantiation: ttml.c:vlc_vector_growsize_ Unexecuted instantiation: ty.c:vlc_vector_growsize_ Unexecuted instantiation: voc.c:vlc_vector_growsize_ Unexecuted instantiation: wav.c:vlc_vector_growsize_ Unexecuted instantiation: webvtt.c:vlc_vector_growsize_ Unexecuted instantiation: encvtt.c:vlc_vector_growsize_ Unexecuted instantiation: subsvtt.c:vlc_vector_growsize_ Unexecuted instantiation: xa.c:vlc_vector_growsize_ Unexecuted instantiation: a52.c:vlc_vector_growsize_ Unexecuted instantiation: copy.c:vlc_vector_growsize_ Unexecuted instantiation: dts.c:vlc_vector_growsize_ Unexecuted instantiation: h264.c:vlc_vector_growsize_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_growsize_ Unexecuted instantiation: hxxx_common.c:vlc_vector_growsize_ Unexecuted instantiation: h264_nal.c:vlc_vector_growsize_ Unexecuted instantiation: hevc.c:vlc_vector_growsize_ Unexecuted instantiation: mlp.c:vlc_vector_growsize_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_growsize_ Unexecuted instantiation: mpeg4video.c:vlc_vector_growsize_ Unexecuted instantiation: mpegaudio.c:vlc_vector_growsize_ Unexecuted instantiation: mpegvideo.c:vlc_vector_growsize_ Unexecuted instantiation: vc1.c:vlc_vector_growsize_ Unexecuted instantiation: rawaud.c:vlc_vector_growsize_ Unexecuted instantiation: rawvid.c:vlc_vector_growsize_ Unexecuted instantiation: file.c:vlc_vector_growsize_ Unexecuted instantiation: directory.c:vlc_vector_growsize_ Unexecuted instantiation: libxml.c:vlc_vector_growsize_ Unexecuted instantiation: ogg.c:vlc_vector_growsize_ Unexecuted instantiation: oggseek.c:vlc_vector_growsize_ Unexecuted instantiation: mkv.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_growsize_(unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_growsize_ Unexecuted instantiation: aes3.c:vlc_vector_growsize_ Unexecuted instantiation: araw.c:vlc_vector_growsize_ Unexecuted instantiation: g711.c:vlc_vector_growsize_ Unexecuted instantiation: lpcm.c:vlc_vector_growsize_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_growsize_ Unexecuted instantiation: rawvideo.c:vlc_vector_growsize_ Unexecuted instantiation: cc.c:vlc_vector_growsize_ Unexecuted instantiation: cea708.c:vlc_vector_growsize_ Unexecuted instantiation: cvdsub.c:vlc_vector_growsize_ Unexecuted instantiation: dvbsub.c:vlc_vector_growsize_ Unexecuted instantiation: scte18.c:vlc_vector_growsize_ Unexecuted instantiation: scte27.c:vlc_vector_growsize_ Unexecuted instantiation: spudec.c:vlc_vector_growsize_ Unexecuted instantiation: parse.c:vlc_vector_growsize_ Unexecuted instantiation: stl.c:vlc_vector_growsize_ Unexecuted instantiation: subsdec.c:vlc_vector_growsize_ Unexecuted instantiation: subsusf.c:vlc_vector_growsize_ Unexecuted instantiation: svcdsub.c:vlc_vector_growsize_ Unexecuted instantiation: textst.c:vlc_vector_growsize_ Unexecuted instantiation: substx3g.c:vlc_vector_growsize_ Unexecuted instantiation: libvlc.c:vlc_vector_growsize_ Unexecuted instantiation: chain.c:vlc_vector_growsize_ Unexecuted instantiation: help.c:vlc_vector_growsize_ Unexecuted instantiation: cmdline.c:vlc_vector_growsize_ Unexecuted instantiation: media_source.c:vlc_vector_growsize_ Unexecuted instantiation: media_tree.c:vlc_vector_growsize_ Unexecuted instantiation: modules.c:vlc_vector_growsize_ Unexecuted instantiation: bank.c:vlc_vector_growsize_ Unexecuted instantiation: entry.c:vlc_vector_growsize_ Unexecuted instantiation: dialog.c:vlc_vector_growsize_ Unexecuted instantiation: interface.c:vlc_vector_growsize_ Unexecuted instantiation: content.c:vlc_vector_growsize_ Unexecuted instantiation: control.c:vlc_vector_growsize_ Unexecuted instantiation: item.c:vlc_vector_growsize_ Unexecuted instantiation: notify.c:vlc_vector_growsize_ Unexecuted instantiation: player.c:vlc_vector_growsize_ Unexecuted instantiation: playlist.c:vlc_vector_growsize_ Unexecuted instantiation: preparse.c:vlc_vector_growsize_ Unexecuted instantiation: randomizer.c:vlc_vector_growsize_ Unexecuted instantiation: preparser.c:vlc_vector_growsize_ Unexecuted instantiation: access.c:vlc_vector_growsize_ Unexecuted instantiation: decoder_device.c:vlc_vector_growsize_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_growsize_ Unexecuted instantiation: demux.c:vlc_vector_growsize_ Unexecuted instantiation: input.c:vlc_vector_growsize_ Unexecuted instantiation: attachment.c:vlc_vector_growsize_ Unexecuted instantiation: timer.c:vlc_vector_growsize_ Unexecuted instantiation: track.c:vlc_vector_growsize_ Unexecuted instantiation: title.c:vlc_vector_growsize_ Unexecuted instantiation: aout.c:vlc_vector_growsize_ Unexecuted instantiation: vout.c:vlc_vector_growsize_ Unexecuted instantiation: osd.c:vlc_vector_growsize_ Unexecuted instantiation: medialib.c:vlc_vector_growsize_ Unexecuted instantiation: resource.c:vlc_vector_growsize_ Unexecuted instantiation: services_discovery.c:vlc_vector_growsize_ Unexecuted instantiation: stats.c:vlc_vector_growsize_ Unexecuted instantiation: stream.c:vlc_vector_growsize_ Unexecuted instantiation: stream_extractor.c:vlc_vector_growsize_ Unexecuted instantiation: stream_filter.c:vlc_vector_growsize_ Unexecuted instantiation: stream_memory.c:vlc_vector_growsize_ Unexecuted instantiation: subtitles.c:vlc_vector_growsize_ Unexecuted instantiation: common.c:vlc_vector_growsize_ Unexecuted instantiation: dec.c:vlc_vector_growsize_ Unexecuted instantiation: filters.c:vlc_vector_growsize_ Unexecuted instantiation: meter.c:vlc_vector_growsize_ Unexecuted instantiation: output.c:vlc_vector_growsize_ Unexecuted instantiation: volume.c:vlc_vector_growsize_ Unexecuted instantiation: video_output.c:vlc_vector_growsize_ Unexecuted instantiation: video_text.c:vlc_vector_growsize_ Unexecuted instantiation: video_widgets.c:vlc_vector_growsize_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_growsize_ Unexecuted instantiation: video_window.c:vlc_vector_growsize_ Unexecuted instantiation: window.c:vlc_vector_growsize_ Unexecuted instantiation: vout_intf.c:vlc_vector_growsize_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_growsize_ Unexecuted instantiation: charset.c:vlc_vector_growsize_ Unexecuted instantiation: strings.c:vlc_vector_growsize_ Unexecuted instantiation: unicode.c:vlc_vector_growsize_ Unexecuted instantiation: actions.c:vlc_vector_growsize_ ancillary.c:vlc_vector_growsize_ Line | Count | Source | 243 | 2.00k | { | 244 | | /* integer multiplication by 1.5 */ | 245 | 2.00k | return value + (value >> 1); | 246 | 2.00k | } |
Unexecuted instantiation: executor.c:vlc_vector_growsize_ Unexecuted instantiation: probe.c:vlc_vector_growsize_ Unexecuted instantiation: frame.c:vlc_vector_growsize_ Unexecuted instantiation: fifo.c:vlc_vector_growsize_ Unexecuted instantiation: fourcc.c:vlc_vector_growsize_ Unexecuted instantiation: picture.c:vlc_vector_growsize_ Unexecuted instantiation: picture_fifo.c:vlc_vector_growsize_ Unexecuted instantiation: picture_pool.c:vlc_vector_growsize_ Unexecuted instantiation: interrupt.c:vlc_vector_growsize_ Unexecuted instantiation: keystore.c:vlc_vector_growsize_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_growsize_ Unexecuted instantiation: threads.c:vlc_vector_growsize_ Unexecuted instantiation: cpu.c:vlc_vector_growsize_ Unexecuted instantiation: exit.c:vlc_vector_growsize_ Unexecuted instantiation: image.c:vlc_vector_growsize_ Unexecuted instantiation: messages.c:vlc_vector_growsize_ Unexecuted instantiation: tracer.c:vlc_vector_growsize_ Unexecuted instantiation: objects.c:vlc_vector_growsize_ Unexecuted instantiation: objres.c:vlc_vector_growsize_ Unexecuted instantiation: variables.c:vlc_vector_growsize_ Unexecuted instantiation: xml.c:vlc_vector_growsize_ Unexecuted instantiation: filter.c:vlc_vector_growsize_ Unexecuted instantiation: filter_chain.c:vlc_vector_growsize_ Unexecuted instantiation: subpicture.c:vlc_vector_growsize_ Unexecuted instantiation: medialibrary.c:vlc_vector_growsize_ Unexecuted instantiation: thread.c:vlc_vector_growsize_ Unexecuted instantiation: specific.c:vlc_vector_growsize_ Unexecuted instantiation: stream_output.c:vlc_vector_growsize_ Unexecuted instantiation: vlm.c:vlc_vector_growsize_ Unexecuted instantiation: vlm_event.c:vlc_vector_growsize_ Unexecuted instantiation: vlmshell.c:vlc_vector_growsize_ Unexecuted instantiation: libvlc-module.c:vlc_vector_growsize_ Unexecuted instantiation: art.c:vlc_vector_growsize_ Unexecuted instantiation: fetcher.c:vlc_vector_growsize_ Unexecuted instantiation: clock.c:vlc_vector_growsize_ Unexecuted instantiation: es_out.c:vlc_vector_growsize_ Unexecuted instantiation: es_out_source.c:vlc_vector_growsize_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_growsize_ Unexecuted instantiation: display.c:vlc_vector_growsize_ Unexecuted instantiation: inhibit.c:vlc_vector_growsize_ Unexecuted instantiation: interlacing.c:vlc_vector_growsize_ Unexecuted instantiation: snapshot.c:vlc_vector_growsize_ Unexecuted instantiation: chroma_probe.c:vlc_vector_growsize_ Unexecuted instantiation: dirs.c:vlc_vector_growsize_ Unexecuted instantiation: input_clock.c:vlc_vector_growsize_ |
247 | | |
248 | | /* SIZE_MAX/2 to fit in ssize_t, and so that cap*1.5 does not overflow. */ |
249 | 4.00k | #define vlc_vector_max_cap_(pv) (SIZE_MAX / 2 / sizeof(*(pv)->data)) |
250 | | |
251 | | /** |
252 | | * Increase the capacity of the vector to at least `mincap`. |
253 | | * |
254 | | * \param pv a pointer to the vector |
255 | | * \param mincap (size_t) the requested capacity |
256 | | * \retval true if no allocation failed |
257 | | * \retval false on allocation failure (the vector is left untouched) |
258 | | */ |
259 | | #define vlc_vector_reserve(pv, mincap) \ |
260 | | /* avoid to allocate tiny arrays (< VLC_VECTOR_MINCAP_) */ \ |
261 | 2.00k | vlc_vector_reserve_internal_(pv, \ |
262 | 2.00k | vlc_vector_max_(mincap, VLC_VECTOR_MINCAP_)) |
263 | | |
264 | 4.00k | #define vlc_vector_reserve_internal_(pv, mincap) \ |
265 | 4.00k | ( \ |
266 | 4.00k | (mincap) <= (pv)->cap /* nothing to do */ || \ |
267 | 4.00k | ( \ |
268 | 2.00k | (mincap) <= vlc_vector_max_cap_(pv) /* not too big */ && \ |
269 | 2.00k | vlc_vector_realloc_(pv, \ |
270 | 2.00k | /* multiply by 1.5, force between [mincap, maxcap] */ \ |
271 | 2.00k | vlc_vector_between_(vlc_vector_growsize_((pv)->cap), \ |
272 | 2.00k | mincap, \ |
273 | 2.00k | vlc_vector_max_cap_(pv))) \ |
274 | 2.00k | ) \ |
275 | 4.00k | ) |
276 | | |
277 | | /** |
278 | | * Resize the vector so that its capacity equals its actual size. |
279 | | * |
280 | | * \param pv a pointer to the vector |
281 | | */ |
282 | | #define vlc_vector_shrink_to_fit(pv) \ |
283 | | (void) /* decreasing the size may not fail */ \ |
284 | | vlc_vector_resize_(pv, (pv)->size) |
285 | | |
286 | | /** |
287 | | * Resize the vector down automatically. |
288 | | * |
289 | | * Shrink only when necessary (in practice when cap > (size+5)*1.5) |
290 | | * |
291 | | * \param pv a pointer to the vector |
292 | | */ |
293 | 0 | #define vlc_vector_autoshrink(pv) (void) \ |
294 | 0 | ( \ |
295 | 0 | (pv)->cap <= VLC_VECTOR_MINCAP_ /* do not shrink to tiny length */ || \ |
296 | 0 | (pv)->cap < vlc_vector_growsize_((pv)->size+5) /* no need to shrink */ || \ |
297 | 0 | vlc_vector_resize_(pv, vlc_vector_max_((pv)->size+5, VLC_VECTOR_MINCAP_)) \ |
298 | 0 | ) |
299 | | |
300 | | #define vlc_vector_check_same_ptr_type_(a, b) \ |
301 | 0 | (void) ((a) == (b)) /* warn on type mismatch */ |
302 | | |
303 | | /** |
304 | | * Push an item at the end of the vector. |
305 | | * |
306 | | * The amortized complexity is O(1). |
307 | | * |
308 | | * \param pv a pointer to the vector |
309 | | * \param item the item to append |
310 | | * \retval true if no allocation failed |
311 | | * \retval false on allocation failure (the vector is left untouched) |
312 | | */ |
313 | 2.00k | #define vlc_vector_push(pv, item) \ |
314 | 2.00k | ( \ |
315 | 2.00k | vlc_vector_reserve(pv, (pv)->size + 1) && \ |
316 | 2.00k | ( \ |
317 | 2.00k | (pv)->data[(pv)->size++] = (item), \ |
318 | 2.00k | true \ |
319 | 2.00k | ) \ |
320 | 2.00k | ) |
321 | | |
322 | | /** |
323 | | * Push a hole at the end of the vector. |
324 | | * |
325 | | * The amortized complexity is O(1). The items in the hole are left |
326 | | * uninitialized and can be accessed in the range [size-count; size-1]. |
327 | | * |
328 | | * \param pv a pointer to the vector |
329 | | * \param count the number of items in the hole |
330 | | * \retval true if no allocation failed |
331 | | * \retval false on allocation failure (the vector is left untouched) |
332 | | */ |
333 | 0 | #define vlc_vector_push_hole(pv, count) \ |
334 | 0 | ( \ |
335 | 0 | vlc_vector_reserve(pv, (pv)->size + vlc_vector_enforce_size_t_(count)) && \ |
336 | 0 | ( \ |
337 | 0 | (pv)->size += vlc_vector_enforce_size_t_(count), \ |
338 | 0 | true \ |
339 | 0 | ) \ |
340 | 0 | ) |
341 | | |
342 | | /** |
343 | | * Append `count` items at the end of the vector. |
344 | | * |
345 | | * \param pv a pointer to the vector |
346 | | * \param items the items array to append |
347 | | * \param count the number of items in the array |
348 | | * \retval true if no allocation failed |
349 | | * \retval false on allocation failure (the vector is left untouched) |
350 | | */ |
351 | | #define vlc_vector_push_all(pv, items, count) \ |
352 | | vlc_vector_push_all_internal_(pv, items, vlc_vector_enforce_size_t_(count)) |
353 | | |
354 | | #define vlc_vector_push_all_internal_(pv, items, count) \ |
355 | | ( \ |
356 | | assert(count), \ |
357 | | vlc_vector_check_same_ptr_type_((pv)->data, items), \ |
358 | | vlc_vector_reserve(pv, (pv)->size + (count)) && \ |
359 | | ( \ |
360 | | memcpy(&(pv)->data[(pv)->size], items, (count) * sizeof(*(pv)->data)), \ |
361 | | (pv)->size += (count), \ |
362 | | true \ |
363 | | ) \ |
364 | | ) |
365 | | |
366 | | /** |
367 | | * Insert an hole of size `count` to the given index. |
368 | | * |
369 | | * The items in range [index; size-1] will be moved. The items in the hole are |
370 | | * left uninitialized. |
371 | | * |
372 | | * \param pv a pointer to the vector |
373 | | * \param index the index where the hole is to be inserted |
374 | | * \param count the number of items in the hole |
375 | | * \retval true if no allocation failed |
376 | | * \retval false on allocation failure (the vector is left untouched) |
377 | | */ |
378 | | #define vlc_vector_insert_hole(pv, index, count) \ |
379 | 0 | vlc_vector_insert_hole_internal_(pv, vlc_vector_enforce_size_t_(index), \ |
380 | 0 | vlc_vector_enforce_size_t_(count)) |
381 | | |
382 | 0 | #define vlc_vector_insert_hole_internal_(pv, index, count) \ |
383 | 0 | ( \ |
384 | 0 | assert(count), \ |
385 | 0 | vlc_vector_reserve(pv, (pv)->size + (count)) && \ |
386 | 0 | ( \ |
387 | 0 | (index) == (pv)->size || \ |
388 | 0 | ( \ |
389 | 0 | memmove(&(pv)->data[(index) + (count)], \ |
390 | 0 | &(pv)->data[index], \ |
391 | 0 | ((pv)->size - (index)) * sizeof(*(pv)->data)), \ |
392 | 0 | true \ |
393 | 0 | ) \ |
394 | 0 | ) && \ |
395 | 0 | ( \ |
396 | 0 | (pv)->size += (count), \ |
397 | 0 | true \ |
398 | 0 | ) \ |
399 | 0 | ) |
400 | | |
401 | | /** |
402 | | * Insert an item at the given index. |
403 | | * |
404 | | * The items in range [index; size-1] will be moved. |
405 | | * |
406 | | * \param pv a pointer to the vector |
407 | | * \param index the index where the item is to be inserted |
408 | | * \param item the item to append |
409 | | * \retval true if no allocation failed |
410 | | * \retval false on allocation failure (the vector is left untouched) |
411 | | */ |
412 | 0 | #define vlc_vector_insert(pv, index, item) \ |
413 | 0 | ( \ |
414 | 0 | vlc_vector_insert_hole(pv, index, 1) && \ |
415 | 0 | ( \ |
416 | 0 | (pv)->data[index] = (item), \ |
417 | 0 | true \ |
418 | 0 | ) \ |
419 | 0 | ) |
420 | | |
421 | | /** |
422 | | * Insert `count` items at the given index. |
423 | | * |
424 | | * The items in range [index; size-1] will be moved. |
425 | | * |
426 | | * \param pv a pointer to the vector |
427 | | * \param index the index where the items are to be inserted |
428 | | * \param items the items array to append |
429 | | * \param count the number of items in the array |
430 | | * \retval true if no allocation failed |
431 | | * \retval false on allocation failure (the vector is left untouched) |
432 | | */ |
433 | 0 | #define vlc_vector_insert_all(pv, index, items, count) \ |
434 | 0 | ( \ |
435 | 0 | vlc_vector_check_same_ptr_type_((pv)->data, items), \ |
436 | 0 | vlc_vector_insert_hole(pv, index, count) && \ |
437 | 0 | ( \ |
438 | 0 | memcpy(&(pv)->data[index], items, (count) * sizeof(*(pv)->data)), \ |
439 | 0 | true \ |
440 | 0 | ) \ |
441 | 0 | ) |
442 | | |
443 | | /** Reverse a char array in place. */ |
444 | | static inline void |
445 | | vlc_vector_reverse_array_(char *array, size_t len) |
446 | 0 | { |
447 | 0 | for (size_t i = 0; i < len / 2; ++i) |
448 | 0 | { |
449 | 0 | char c = array[i]; |
450 | 0 | array[i] = array[len - i - 1]; |
451 | 0 | array[len - i - 1] = c; |
452 | 0 | } |
453 | 0 | } Unexecuted instantiation: demux-run.c:vlc_vector_reverse_array_ Unexecuted instantiation: var.c:vlc_vector_reverse_array_ Unexecuted instantiation: decoder.c:vlc_vector_reverse_array_ Unexecuted instantiation: core.c:vlc_vector_reverse_array_ Unexecuted instantiation: aiff.c:vlc_vector_reverse_array_ Unexecuted instantiation: asf.c:vlc_vector_reverse_array_ Unexecuted instantiation: libasf.c:vlc_vector_reverse_array_ Unexecuted instantiation: asfpacket.c:vlc_vector_reverse_array_ Unexecuted instantiation: au.c:vlc_vector_reverse_array_ Unexecuted instantiation: avi.c:vlc_vector_reverse_array_ Unexecuted instantiation: libavi.c:vlc_vector_reverse_array_ Unexecuted instantiation: caf.c:vlc_vector_reverse_array_ Unexecuted instantiation: cdg.c:vlc_vector_reverse_array_ Unexecuted instantiation: es.c:vlc_vector_reverse_array_ Unexecuted instantiation: dts_header.c:vlc_vector_reverse_array_ Unexecuted instantiation: flac.c:vlc_vector_reverse_array_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_reverse_array_ Unexecuted instantiation: h26x.c:vlc_vector_reverse_array_ Unexecuted instantiation: mjpeg.c:vlc_vector_reverse_array_ Unexecuted instantiation: mp4.c:vlc_vector_reverse_array_ Unexecuted instantiation: fragments.c:vlc_vector_reverse_array_ Unexecuted instantiation: attachments.c:vlc_vector_reverse_array_ Unexecuted instantiation: heif.c:vlc_vector_reverse_array_ Unexecuted instantiation: essetup.c:vlc_vector_reverse_array_ Unexecuted instantiation: meta.c:vlc_vector_reverse_array_ Unexecuted instantiation: libmp4.c:vlc_vector_reverse_array_ Unexecuted instantiation: nsv.c:vlc_vector_reverse_array_ Unexecuted instantiation: ps.c:vlc_vector_reverse_array_ Unexecuted instantiation: pva.c:vlc_vector_reverse_array_ Unexecuted instantiation: sap.c:vlc_vector_reverse_array_ Unexecuted instantiation: smf.c:vlc_vector_reverse_array_ Unexecuted instantiation: subtitle.c:vlc_vector_reverse_array_ Unexecuted instantiation: tta.c:vlc_vector_reverse_array_ Unexecuted instantiation: encttml.c:vlc_vector_reverse_array_ Unexecuted instantiation: substtml.c:vlc_vector_reverse_array_ Unexecuted instantiation: ttml.c:vlc_vector_reverse_array_ Unexecuted instantiation: ty.c:vlc_vector_reverse_array_ Unexecuted instantiation: voc.c:vlc_vector_reverse_array_ Unexecuted instantiation: wav.c:vlc_vector_reverse_array_ Unexecuted instantiation: webvtt.c:vlc_vector_reverse_array_ Unexecuted instantiation: encvtt.c:vlc_vector_reverse_array_ Unexecuted instantiation: subsvtt.c:vlc_vector_reverse_array_ Unexecuted instantiation: xa.c:vlc_vector_reverse_array_ Unexecuted instantiation: a52.c:vlc_vector_reverse_array_ Unexecuted instantiation: copy.c:vlc_vector_reverse_array_ Unexecuted instantiation: dts.c:vlc_vector_reverse_array_ Unexecuted instantiation: h264.c:vlc_vector_reverse_array_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_reverse_array_ Unexecuted instantiation: hxxx_common.c:vlc_vector_reverse_array_ Unexecuted instantiation: h264_nal.c:vlc_vector_reverse_array_ Unexecuted instantiation: hevc.c:vlc_vector_reverse_array_ Unexecuted instantiation: mlp.c:vlc_vector_reverse_array_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_reverse_array_ Unexecuted instantiation: mpeg4video.c:vlc_vector_reverse_array_ Unexecuted instantiation: mpegaudio.c:vlc_vector_reverse_array_ Unexecuted instantiation: mpegvideo.c:vlc_vector_reverse_array_ Unexecuted instantiation: vc1.c:vlc_vector_reverse_array_ Unexecuted instantiation: rawaud.c:vlc_vector_reverse_array_ Unexecuted instantiation: rawvid.c:vlc_vector_reverse_array_ Unexecuted instantiation: file.c:vlc_vector_reverse_array_ Unexecuted instantiation: directory.c:vlc_vector_reverse_array_ Unexecuted instantiation: libxml.c:vlc_vector_reverse_array_ Unexecuted instantiation: ogg.c:vlc_vector_reverse_array_ Unexecuted instantiation: oggseek.c:vlc_vector_reverse_array_ Unexecuted instantiation: mkv.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_reverse_array_(char*, unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_reverse_array_ Unexecuted instantiation: aes3.c:vlc_vector_reverse_array_ Unexecuted instantiation: araw.c:vlc_vector_reverse_array_ Unexecuted instantiation: g711.c:vlc_vector_reverse_array_ Unexecuted instantiation: lpcm.c:vlc_vector_reverse_array_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_reverse_array_ Unexecuted instantiation: rawvideo.c:vlc_vector_reverse_array_ Unexecuted instantiation: cc.c:vlc_vector_reverse_array_ Unexecuted instantiation: cea708.c:vlc_vector_reverse_array_ Unexecuted instantiation: cvdsub.c:vlc_vector_reverse_array_ Unexecuted instantiation: dvbsub.c:vlc_vector_reverse_array_ Unexecuted instantiation: scte18.c:vlc_vector_reverse_array_ Unexecuted instantiation: scte27.c:vlc_vector_reverse_array_ Unexecuted instantiation: spudec.c:vlc_vector_reverse_array_ Unexecuted instantiation: parse.c:vlc_vector_reverse_array_ Unexecuted instantiation: stl.c:vlc_vector_reverse_array_ Unexecuted instantiation: subsdec.c:vlc_vector_reverse_array_ Unexecuted instantiation: subsusf.c:vlc_vector_reverse_array_ Unexecuted instantiation: svcdsub.c:vlc_vector_reverse_array_ Unexecuted instantiation: textst.c:vlc_vector_reverse_array_ Unexecuted instantiation: substx3g.c:vlc_vector_reverse_array_ Unexecuted instantiation: libvlc.c:vlc_vector_reverse_array_ Unexecuted instantiation: chain.c:vlc_vector_reverse_array_ Unexecuted instantiation: help.c:vlc_vector_reverse_array_ Unexecuted instantiation: cmdline.c:vlc_vector_reverse_array_ Unexecuted instantiation: media_source.c:vlc_vector_reverse_array_ Unexecuted instantiation: media_tree.c:vlc_vector_reverse_array_ Unexecuted instantiation: modules.c:vlc_vector_reverse_array_ Unexecuted instantiation: bank.c:vlc_vector_reverse_array_ Unexecuted instantiation: entry.c:vlc_vector_reverse_array_ Unexecuted instantiation: dialog.c:vlc_vector_reverse_array_ Unexecuted instantiation: interface.c:vlc_vector_reverse_array_ Unexecuted instantiation: content.c:vlc_vector_reverse_array_ Unexecuted instantiation: control.c:vlc_vector_reverse_array_ Unexecuted instantiation: item.c:vlc_vector_reverse_array_ Unexecuted instantiation: notify.c:vlc_vector_reverse_array_ Unexecuted instantiation: player.c:vlc_vector_reverse_array_ Unexecuted instantiation: playlist.c:vlc_vector_reverse_array_ Unexecuted instantiation: preparse.c:vlc_vector_reverse_array_ Unexecuted instantiation: randomizer.c:vlc_vector_reverse_array_ Unexecuted instantiation: preparser.c:vlc_vector_reverse_array_ Unexecuted instantiation: access.c:vlc_vector_reverse_array_ Unexecuted instantiation: decoder_device.c:vlc_vector_reverse_array_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_reverse_array_ Unexecuted instantiation: demux.c:vlc_vector_reverse_array_ Unexecuted instantiation: input.c:vlc_vector_reverse_array_ Unexecuted instantiation: attachment.c:vlc_vector_reverse_array_ Unexecuted instantiation: timer.c:vlc_vector_reverse_array_ Unexecuted instantiation: track.c:vlc_vector_reverse_array_ Unexecuted instantiation: title.c:vlc_vector_reverse_array_ Unexecuted instantiation: aout.c:vlc_vector_reverse_array_ Unexecuted instantiation: vout.c:vlc_vector_reverse_array_ Unexecuted instantiation: osd.c:vlc_vector_reverse_array_ Unexecuted instantiation: medialib.c:vlc_vector_reverse_array_ Unexecuted instantiation: resource.c:vlc_vector_reverse_array_ Unexecuted instantiation: services_discovery.c:vlc_vector_reverse_array_ Unexecuted instantiation: stats.c:vlc_vector_reverse_array_ Unexecuted instantiation: stream.c:vlc_vector_reverse_array_ Unexecuted instantiation: stream_extractor.c:vlc_vector_reverse_array_ Unexecuted instantiation: stream_filter.c:vlc_vector_reverse_array_ Unexecuted instantiation: stream_memory.c:vlc_vector_reverse_array_ Unexecuted instantiation: subtitles.c:vlc_vector_reverse_array_ Unexecuted instantiation: common.c:vlc_vector_reverse_array_ Unexecuted instantiation: dec.c:vlc_vector_reverse_array_ Unexecuted instantiation: filters.c:vlc_vector_reverse_array_ Unexecuted instantiation: meter.c:vlc_vector_reverse_array_ Unexecuted instantiation: output.c:vlc_vector_reverse_array_ Unexecuted instantiation: volume.c:vlc_vector_reverse_array_ Unexecuted instantiation: video_output.c:vlc_vector_reverse_array_ Unexecuted instantiation: video_text.c:vlc_vector_reverse_array_ Unexecuted instantiation: video_widgets.c:vlc_vector_reverse_array_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_reverse_array_ Unexecuted instantiation: video_window.c:vlc_vector_reverse_array_ Unexecuted instantiation: window.c:vlc_vector_reverse_array_ Unexecuted instantiation: vout_intf.c:vlc_vector_reverse_array_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_reverse_array_ Unexecuted instantiation: charset.c:vlc_vector_reverse_array_ Unexecuted instantiation: strings.c:vlc_vector_reverse_array_ Unexecuted instantiation: unicode.c:vlc_vector_reverse_array_ Unexecuted instantiation: actions.c:vlc_vector_reverse_array_ Unexecuted instantiation: ancillary.c:vlc_vector_reverse_array_ Unexecuted instantiation: executor.c:vlc_vector_reverse_array_ Unexecuted instantiation: probe.c:vlc_vector_reverse_array_ Unexecuted instantiation: frame.c:vlc_vector_reverse_array_ Unexecuted instantiation: fifo.c:vlc_vector_reverse_array_ Unexecuted instantiation: fourcc.c:vlc_vector_reverse_array_ Unexecuted instantiation: picture.c:vlc_vector_reverse_array_ Unexecuted instantiation: picture_fifo.c:vlc_vector_reverse_array_ Unexecuted instantiation: picture_pool.c:vlc_vector_reverse_array_ Unexecuted instantiation: interrupt.c:vlc_vector_reverse_array_ Unexecuted instantiation: keystore.c:vlc_vector_reverse_array_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_reverse_array_ Unexecuted instantiation: threads.c:vlc_vector_reverse_array_ Unexecuted instantiation: cpu.c:vlc_vector_reverse_array_ Unexecuted instantiation: exit.c:vlc_vector_reverse_array_ Unexecuted instantiation: image.c:vlc_vector_reverse_array_ Unexecuted instantiation: messages.c:vlc_vector_reverse_array_ Unexecuted instantiation: tracer.c:vlc_vector_reverse_array_ Unexecuted instantiation: objects.c:vlc_vector_reverse_array_ Unexecuted instantiation: objres.c:vlc_vector_reverse_array_ Unexecuted instantiation: variables.c:vlc_vector_reverse_array_ Unexecuted instantiation: xml.c:vlc_vector_reverse_array_ Unexecuted instantiation: filter.c:vlc_vector_reverse_array_ Unexecuted instantiation: filter_chain.c:vlc_vector_reverse_array_ Unexecuted instantiation: subpicture.c:vlc_vector_reverse_array_ Unexecuted instantiation: medialibrary.c:vlc_vector_reverse_array_ Unexecuted instantiation: thread.c:vlc_vector_reverse_array_ Unexecuted instantiation: specific.c:vlc_vector_reverse_array_ Unexecuted instantiation: stream_output.c:vlc_vector_reverse_array_ Unexecuted instantiation: vlm.c:vlc_vector_reverse_array_ Unexecuted instantiation: vlm_event.c:vlc_vector_reverse_array_ Unexecuted instantiation: vlmshell.c:vlc_vector_reverse_array_ Unexecuted instantiation: libvlc-module.c:vlc_vector_reverse_array_ Unexecuted instantiation: art.c:vlc_vector_reverse_array_ Unexecuted instantiation: fetcher.c:vlc_vector_reverse_array_ Unexecuted instantiation: clock.c:vlc_vector_reverse_array_ Unexecuted instantiation: es_out.c:vlc_vector_reverse_array_ Unexecuted instantiation: es_out_source.c:vlc_vector_reverse_array_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_reverse_array_ Unexecuted instantiation: display.c:vlc_vector_reverse_array_ Unexecuted instantiation: inhibit.c:vlc_vector_reverse_array_ Unexecuted instantiation: interlacing.c:vlc_vector_reverse_array_ Unexecuted instantiation: snapshot.c:vlc_vector_reverse_array_ Unexecuted instantiation: chroma_probe.c:vlc_vector_reverse_array_ Unexecuted instantiation: dirs.c:vlc_vector_reverse_array_ Unexecuted instantiation: input_clock.c:vlc_vector_reverse_array_ |
454 | | |
455 | | /** |
456 | | * Right-rotate a (char) array in place. |
457 | | * |
458 | | * For example, left-rotating a char array containing {1, 2, 3, 4, 5, 6} with |
459 | | * distance 4 will result in {5, 6, 1, 2, 3, 4}. |
460 | | * |
461 | | * Private. |
462 | | */ |
463 | | static inline void |
464 | | vlc_vector_rotate_array_left_(char *array, size_t len, size_t distance) |
465 | 0 | { |
466 | 0 | vlc_vector_reverse_array_(array, distance); |
467 | 0 | vlc_vector_reverse_array_(&array[distance], len - distance); |
468 | 0 | vlc_vector_reverse_array_(array, len); |
469 | 0 | } Unexecuted instantiation: demux-run.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: var.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: decoder.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: core.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: aiff.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: asf.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: libasf.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: asfpacket.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: au.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: avi.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: libavi.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: caf.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: cdg.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: es.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: dts_header.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: flac.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: h26x.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mjpeg.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mp4.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: fragments.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: attachments.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: heif.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: essetup.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: meta.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: libmp4.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: nsv.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: ps.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: pva.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: sap.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: smf.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: subtitle.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: tta.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: encttml.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: substtml.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: ttml.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: ty.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: voc.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: wav.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: webvtt.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: encvtt.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: subsvtt.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: xa.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: a52.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: copy.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: dts.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: h264.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: hxxx_common.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: h264_nal.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: hevc.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mlp.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mpeg4video.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mpegaudio.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mpegvideo.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vc1.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: rawaud.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: rawvid.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: file.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: directory.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: libxml.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: ogg.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: oggseek.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: mkv.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_rotate_array_left_(char*, unsigned long, unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: aes3.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: araw.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: g711.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: lpcm.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: rawvideo.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: cc.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: cea708.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: cvdsub.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: dvbsub.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: scte18.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: scte27.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: spudec.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: parse.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: stl.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: subsdec.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: subsusf.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: svcdsub.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: textst.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: substx3g.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: libvlc.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: chain.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: help.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: cmdline.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: media_source.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: media_tree.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: modules.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: bank.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: entry.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: dialog.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: interface.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: content.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: control.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: item.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: notify.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: player.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: playlist.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: preparse.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: randomizer.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: preparser.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: access.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: decoder_device.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: demux.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: input.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: attachment.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: timer.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: track.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: title.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: aout.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vout.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: osd.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: medialib.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: resource.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: services_discovery.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: stats.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: stream.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: stream_extractor.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: stream_filter.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: stream_memory.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: subtitles.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: common.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: dec.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: filters.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: meter.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: output.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: volume.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: video_output.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: video_text.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: video_widgets.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: video_window.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: window.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vout_intf.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: charset.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: strings.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: unicode.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: actions.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: ancillary.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: executor.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: probe.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: frame.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: fifo.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: fourcc.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: picture.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: picture_fifo.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: picture_pool.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: interrupt.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: keystore.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: threads.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: cpu.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: exit.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: image.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: messages.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: tracer.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: objects.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: objres.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: variables.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: xml.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: filter.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: filter_chain.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: subpicture.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: medialibrary.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: thread.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: specific.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: stream_output.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vlm.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vlm_event.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: vlmshell.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: libvlc-module.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: art.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: fetcher.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: clock.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: es_out.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: es_out_source.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: display.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: inhibit.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: interlacing.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: snapshot.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: chroma_probe.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: dirs.c:vlc_vector_rotate_array_left_ Unexecuted instantiation: input_clock.c:vlc_vector_rotate_array_left_ |
470 | | |
471 | | /** |
472 | | * Right-rotate a (char) array in place. |
473 | | * |
474 | | * For example, left-rotating a char array containing {1, 2, 3, 4, 5, 6} with |
475 | | * distance 2 will result in {5, 6, 1, 2, 3, 4}. |
476 | | * |
477 | | * Private. |
478 | | */ |
479 | | static inline void |
480 | | vlc_vector_rotate_array_right_(char *array, size_t len, size_t distance) |
481 | 0 | { |
482 | 0 | vlc_vector_rotate_array_left_(array, len, len - distance); |
483 | 0 | } Unexecuted instantiation: demux-run.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: var.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: decoder.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: core.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: aiff.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: asf.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: libasf.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: asfpacket.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: au.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: avi.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: libavi.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: caf.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: cdg.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: es.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: dts_header.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: flac.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: h26x.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mjpeg.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mp4.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: fragments.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: attachments.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: heif.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: essetup.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: meta.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: libmp4.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: nsv.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: ps.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: pva.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: sap.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: smf.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: subtitle.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: tta.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: encttml.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: substtml.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: ttml.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: ty.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: voc.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: wav.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: webvtt.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: encvtt.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: subsvtt.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: xa.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: a52.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: copy.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: dts.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: h264.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: hxxx_common.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: h264_nal.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: hevc.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mlp.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mpeg4video.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mpegaudio.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mpegvideo.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vc1.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: rawaud.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: rawvid.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: file.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: directory.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: libxml.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: ogg.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: oggseek.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: mkv.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_rotate_array_right_(char*, unsigned long, unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: aes3.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: araw.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: g711.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: lpcm.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: rawvideo.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: cc.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: cea708.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: cvdsub.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: dvbsub.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: scte18.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: scte27.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: spudec.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: parse.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: stl.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: subsdec.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: subsusf.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: svcdsub.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: textst.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: substx3g.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: libvlc.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: chain.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: help.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: cmdline.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: media_source.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: media_tree.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: modules.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: bank.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: entry.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: dialog.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: interface.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: content.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: control.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: item.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: notify.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: player.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: playlist.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: preparse.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: randomizer.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: preparser.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: access.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: decoder_device.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: demux.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: input.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: attachment.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: timer.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: track.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: title.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: aout.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vout.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: osd.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: medialib.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: resource.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: services_discovery.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: stats.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: stream.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: stream_extractor.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: stream_filter.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: stream_memory.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: subtitles.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: common.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: dec.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: filters.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: meter.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: output.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: volume.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: video_output.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: video_text.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: video_widgets.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: video_window.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: window.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vout_intf.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: charset.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: strings.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: unicode.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: actions.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: ancillary.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: executor.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: probe.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: frame.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: fifo.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: fourcc.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: picture.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: picture_fifo.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: picture_pool.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: interrupt.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: keystore.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: threads.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: cpu.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: exit.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: image.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: messages.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: tracer.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: objects.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: objres.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: variables.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: xml.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: filter.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: filter_chain.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: subpicture.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: medialibrary.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: thread.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: specific.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: stream_output.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vlm.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vlm_event.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: vlmshell.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: libvlc-module.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: art.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: fetcher.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: clock.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: es_out.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: es_out_source.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: display.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: inhibit.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: interlacing.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: snapshot.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: chroma_probe.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: dirs.c:vlc_vector_rotate_array_right_ Unexecuted instantiation: input_clock.c:vlc_vector_rotate_array_right_ |
484 | | |
485 | | /** |
486 | | * Move items in a (char) array in place. |
487 | | * |
488 | | * Move slice [index, count] to target. |
489 | | */ |
490 | | static inline void |
491 | | vlc_vector_move_(char *array, size_t index, size_t count, size_t target) |
492 | 0 | { |
493 | 0 | assert(count); |
494 | 0 | if (index < target) |
495 | 0 | vlc_vector_rotate_array_left_(&array[index], target - index + count, |
496 | 0 | count); |
497 | 0 | else |
498 | 0 | vlc_vector_rotate_array_right_(&array[target], index - target + count, |
499 | 0 | count); |
500 | 0 | } Unexecuted instantiation: demux-run.c:vlc_vector_move_ Unexecuted instantiation: var.c:vlc_vector_move_ Unexecuted instantiation: decoder.c:vlc_vector_move_ Unexecuted instantiation: core.c:vlc_vector_move_ Unexecuted instantiation: aiff.c:vlc_vector_move_ Unexecuted instantiation: asf.c:vlc_vector_move_ Unexecuted instantiation: libasf.c:vlc_vector_move_ Unexecuted instantiation: asfpacket.c:vlc_vector_move_ Unexecuted instantiation: au.c:vlc_vector_move_ Unexecuted instantiation: avi.c:vlc_vector_move_ Unexecuted instantiation: libavi.c:vlc_vector_move_ Unexecuted instantiation: caf.c:vlc_vector_move_ Unexecuted instantiation: cdg.c:vlc_vector_move_ Unexecuted instantiation: es.c:vlc_vector_move_ Unexecuted instantiation: dts_header.c:vlc_vector_move_ Unexecuted instantiation: flac.c:vlc_vector_move_ Unexecuted instantiation: xiph_metadata.c:vlc_vector_move_ Unexecuted instantiation: h26x.c:vlc_vector_move_ Unexecuted instantiation: mjpeg.c:vlc_vector_move_ Unexecuted instantiation: mp4.c:vlc_vector_move_ Unexecuted instantiation: fragments.c:vlc_vector_move_ Unexecuted instantiation: attachments.c:vlc_vector_move_ Unexecuted instantiation: heif.c:vlc_vector_move_ Unexecuted instantiation: essetup.c:vlc_vector_move_ Unexecuted instantiation: meta.c:vlc_vector_move_ Unexecuted instantiation: libmp4.c:vlc_vector_move_ Unexecuted instantiation: nsv.c:vlc_vector_move_ Unexecuted instantiation: ps.c:vlc_vector_move_ Unexecuted instantiation: pva.c:vlc_vector_move_ Unexecuted instantiation: sap.c:vlc_vector_move_ Unexecuted instantiation: smf.c:vlc_vector_move_ Unexecuted instantiation: subtitle.c:vlc_vector_move_ Unexecuted instantiation: tta.c:vlc_vector_move_ Unexecuted instantiation: encttml.c:vlc_vector_move_ Unexecuted instantiation: substtml.c:vlc_vector_move_ Unexecuted instantiation: ttml.c:vlc_vector_move_ Unexecuted instantiation: ty.c:vlc_vector_move_ Unexecuted instantiation: voc.c:vlc_vector_move_ Unexecuted instantiation: wav.c:vlc_vector_move_ Unexecuted instantiation: webvtt.c:vlc_vector_move_ Unexecuted instantiation: encvtt.c:vlc_vector_move_ Unexecuted instantiation: subsvtt.c:vlc_vector_move_ Unexecuted instantiation: xa.c:vlc_vector_move_ Unexecuted instantiation: a52.c:vlc_vector_move_ Unexecuted instantiation: copy.c:vlc_vector_move_ Unexecuted instantiation: dts.c:vlc_vector_move_ Unexecuted instantiation: h264.c:vlc_vector_move_ Unexecuted instantiation: hxxx_sei.c:vlc_vector_move_ Unexecuted instantiation: hxxx_common.c:vlc_vector_move_ Unexecuted instantiation: h264_nal.c:vlc_vector_move_ Unexecuted instantiation: hevc.c:vlc_vector_move_ Unexecuted instantiation: mlp.c:vlc_vector_move_ Unexecuted instantiation: mpeg4audio.c:vlc_vector_move_ Unexecuted instantiation: mpeg4video.c:vlc_vector_move_ Unexecuted instantiation: mpegaudio.c:vlc_vector_move_ Unexecuted instantiation: mpegvideo.c:vlc_vector_move_ Unexecuted instantiation: vc1.c:vlc_vector_move_ Unexecuted instantiation: rawaud.c:vlc_vector_move_ Unexecuted instantiation: rawvid.c:vlc_vector_move_ Unexecuted instantiation: file.c:vlc_vector_move_ Unexecuted instantiation: directory.c:vlc_vector_move_ Unexecuted instantiation: libxml.c:vlc_vector_move_ Unexecuted instantiation: ogg.c:vlc_vector_move_ Unexecuted instantiation: oggseek.c:vlc_vector_move_ Unexecuted instantiation: mkv.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: util.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: virtual_segment.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: demux.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: events.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: Ebml_parser.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapters.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: stream_io_callback.cpp:vlc_vector_move_(char*, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: adpcm.c:vlc_vector_move_ Unexecuted instantiation: aes3.c:vlc_vector_move_ Unexecuted instantiation: araw.c:vlc_vector_move_ Unexecuted instantiation: g711.c:vlc_vector_move_ Unexecuted instantiation: lpcm.c:vlc_vector_move_ Unexecuted instantiation: uleaddvaudio.c:vlc_vector_move_ Unexecuted instantiation: rawvideo.c:vlc_vector_move_ Unexecuted instantiation: cc.c:vlc_vector_move_ Unexecuted instantiation: cea708.c:vlc_vector_move_ Unexecuted instantiation: cvdsub.c:vlc_vector_move_ Unexecuted instantiation: dvbsub.c:vlc_vector_move_ Unexecuted instantiation: scte18.c:vlc_vector_move_ Unexecuted instantiation: scte27.c:vlc_vector_move_ Unexecuted instantiation: spudec.c:vlc_vector_move_ Unexecuted instantiation: parse.c:vlc_vector_move_ Unexecuted instantiation: stl.c:vlc_vector_move_ Unexecuted instantiation: subsdec.c:vlc_vector_move_ Unexecuted instantiation: subsusf.c:vlc_vector_move_ Unexecuted instantiation: svcdsub.c:vlc_vector_move_ Unexecuted instantiation: textst.c:vlc_vector_move_ Unexecuted instantiation: substx3g.c:vlc_vector_move_ Unexecuted instantiation: libvlc.c:vlc_vector_move_ Unexecuted instantiation: chain.c:vlc_vector_move_ Unexecuted instantiation: help.c:vlc_vector_move_ Unexecuted instantiation: cmdline.c:vlc_vector_move_ Unexecuted instantiation: media_source.c:vlc_vector_move_ Unexecuted instantiation: media_tree.c:vlc_vector_move_ Unexecuted instantiation: modules.c:vlc_vector_move_ Unexecuted instantiation: bank.c:vlc_vector_move_ Unexecuted instantiation: entry.c:vlc_vector_move_ Unexecuted instantiation: dialog.c:vlc_vector_move_ Unexecuted instantiation: interface.c:vlc_vector_move_ Unexecuted instantiation: content.c:vlc_vector_move_ Unexecuted instantiation: control.c:vlc_vector_move_ Unexecuted instantiation: item.c:vlc_vector_move_ Unexecuted instantiation: notify.c:vlc_vector_move_ Unexecuted instantiation: player.c:vlc_vector_move_ Unexecuted instantiation: playlist.c:vlc_vector_move_ Unexecuted instantiation: preparse.c:vlc_vector_move_ Unexecuted instantiation: randomizer.c:vlc_vector_move_ Unexecuted instantiation: preparser.c:vlc_vector_move_ Unexecuted instantiation: access.c:vlc_vector_move_ Unexecuted instantiation: decoder_device.c:vlc_vector_move_ Unexecuted instantiation: decoder_helpers.c:vlc_vector_move_ Unexecuted instantiation: demux.c:vlc_vector_move_ Unexecuted instantiation: input.c:vlc_vector_move_ Unexecuted instantiation: attachment.c:vlc_vector_move_ Unexecuted instantiation: timer.c:vlc_vector_move_ Unexecuted instantiation: track.c:vlc_vector_move_ Unexecuted instantiation: title.c:vlc_vector_move_ Unexecuted instantiation: aout.c:vlc_vector_move_ Unexecuted instantiation: vout.c:vlc_vector_move_ Unexecuted instantiation: osd.c:vlc_vector_move_ Unexecuted instantiation: medialib.c:vlc_vector_move_ Unexecuted instantiation: resource.c:vlc_vector_move_ Unexecuted instantiation: services_discovery.c:vlc_vector_move_ Unexecuted instantiation: stats.c:vlc_vector_move_ Unexecuted instantiation: stream.c:vlc_vector_move_ Unexecuted instantiation: stream_extractor.c:vlc_vector_move_ Unexecuted instantiation: stream_filter.c:vlc_vector_move_ Unexecuted instantiation: stream_memory.c:vlc_vector_move_ Unexecuted instantiation: subtitles.c:vlc_vector_move_ Unexecuted instantiation: common.c:vlc_vector_move_ Unexecuted instantiation: dec.c:vlc_vector_move_ Unexecuted instantiation: filters.c:vlc_vector_move_ Unexecuted instantiation: meter.c:vlc_vector_move_ Unexecuted instantiation: output.c:vlc_vector_move_ Unexecuted instantiation: volume.c:vlc_vector_move_ Unexecuted instantiation: video_output.c:vlc_vector_move_ Unexecuted instantiation: video_text.c:vlc_vector_move_ Unexecuted instantiation: video_widgets.c:vlc_vector_move_ Unexecuted instantiation: vout_subpictures.c:vlc_vector_move_ Unexecuted instantiation: video_window.c:vlc_vector_move_ Unexecuted instantiation: window.c:vlc_vector_move_ Unexecuted instantiation: vout_intf.c:vlc_vector_move_ Unexecuted instantiation: vout_wrapper.c:vlc_vector_move_ Unexecuted instantiation: charset.c:vlc_vector_move_ Unexecuted instantiation: strings.c:vlc_vector_move_ Unexecuted instantiation: unicode.c:vlc_vector_move_ Unexecuted instantiation: actions.c:vlc_vector_move_ Unexecuted instantiation: ancillary.c:vlc_vector_move_ Unexecuted instantiation: executor.c:vlc_vector_move_ Unexecuted instantiation: probe.c:vlc_vector_move_ Unexecuted instantiation: frame.c:vlc_vector_move_ Unexecuted instantiation: fifo.c:vlc_vector_move_ Unexecuted instantiation: fourcc.c:vlc_vector_move_ Unexecuted instantiation: picture.c:vlc_vector_move_ Unexecuted instantiation: picture_fifo.c:vlc_vector_move_ Unexecuted instantiation: picture_pool.c:vlc_vector_move_ Unexecuted instantiation: interrupt.c:vlc_vector_move_ Unexecuted instantiation: keystore.c:vlc_vector_move_ Unexecuted instantiation: renderer_discovery.c:vlc_vector_move_ Unexecuted instantiation: threads.c:vlc_vector_move_ Unexecuted instantiation: cpu.c:vlc_vector_move_ Unexecuted instantiation: exit.c:vlc_vector_move_ Unexecuted instantiation: image.c:vlc_vector_move_ Unexecuted instantiation: messages.c:vlc_vector_move_ Unexecuted instantiation: tracer.c:vlc_vector_move_ Unexecuted instantiation: objects.c:vlc_vector_move_ Unexecuted instantiation: objres.c:vlc_vector_move_ Unexecuted instantiation: variables.c:vlc_vector_move_ Unexecuted instantiation: xml.c:vlc_vector_move_ Unexecuted instantiation: filter.c:vlc_vector_move_ Unexecuted instantiation: filter_chain.c:vlc_vector_move_ Unexecuted instantiation: subpicture.c:vlc_vector_move_ Unexecuted instantiation: medialibrary.c:vlc_vector_move_ Unexecuted instantiation: thread.c:vlc_vector_move_ Unexecuted instantiation: specific.c:vlc_vector_move_ Unexecuted instantiation: stream_output.c:vlc_vector_move_ Unexecuted instantiation: vlm.c:vlc_vector_move_ Unexecuted instantiation: vlm_event.c:vlc_vector_move_ Unexecuted instantiation: vlmshell.c:vlc_vector_move_ Unexecuted instantiation: libvlc-module.c:vlc_vector_move_ Unexecuted instantiation: art.c:vlc_vector_move_ Unexecuted instantiation: fetcher.c:vlc_vector_move_ Unexecuted instantiation: clock.c:vlc_vector_move_ Unexecuted instantiation: es_out.c:vlc_vector_move_ Unexecuted instantiation: es_out_source.c:vlc_vector_move_ Unexecuted instantiation: es_out_timeshift.c:vlc_vector_move_ Unexecuted instantiation: display.c:vlc_vector_move_ Unexecuted instantiation: inhibit.c:vlc_vector_move_ Unexecuted instantiation: interlacing.c:vlc_vector_move_ Unexecuted instantiation: snapshot.c:vlc_vector_move_ Unexecuted instantiation: chroma_probe.c:vlc_vector_move_ Unexecuted instantiation: dirs.c:vlc_vector_move_ Unexecuted instantiation: input_clock.c:vlc_vector_move_ |
501 | | |
502 | | /** |
503 | | * Move a slice of items to a given target index. |
504 | | * |
505 | | * The items in range [index; count] will be moved so that the *new* position |
506 | | * of the first item is `target`. |
507 | | * |
508 | | * \param pv a pointer to the vector |
509 | | * \param index the index of the first item to move |
510 | | * \param count the number of items to move |
511 | | * \param target the new index of the moved slice |
512 | | */ |
513 | | #define vlc_vector_move_slice(pv, index, count, target) \ |
514 | 0 | vlc_vector_move_slice_internal_(pv, \ |
515 | 0 | vlc_vector_enforce_size_t_(index), \ |
516 | 0 | vlc_vector_enforce_size_t_(count), \ |
517 | 0 | vlc_vector_enforce_size_t_(target)) |
518 | | |
519 | | #define vlc_vector_move_slice_internal_(pv, index, count, target) \ |
520 | 0 | vlc_vector_move_((char *) (pv)->data, \ |
521 | 0 | (index) * sizeof((pv)->data[0]), \ |
522 | 0 | (count) * sizeof((pv)->data[0]), \ |
523 | 0 | (target) * sizeof((pv)->data[0])) |
524 | | |
525 | | /** |
526 | | * Move an item to a given target index. |
527 | | * |
528 | | * The items will be moved so that its *new* position is `target`. |
529 | | * |
530 | | * \param pv a pointer to the vector |
531 | | * \param index the index of the item to move |
532 | | * \param target the new index of the moved item |
533 | | */ |
534 | | #define vlc_vector_move(pv, index, target) \ |
535 | | vlc_vector_move_slice(pv, index, 1, target) |
536 | | |
537 | | /** |
538 | | * Remove a slice of items, without shrinking the array. |
539 | | * |
540 | | * If you have no good reason to use the _noshrink() version, use |
541 | | * vlc_vector_remove_slice() instead. |
542 | | * |
543 | | * The items in range [index+count; size-1] will be moved. |
544 | | * |
545 | | * \param pv a pointer to the vector |
546 | | * \param index the index of the first item to remove |
547 | | * \param count the number of items to remove |
548 | | */ |
549 | | #define vlc_vector_remove_slice_noshrink(pv, index, count) \ |
550 | 0 | vlc_vector_remove_slice_noshrink_internal_(pv, \ |
551 | 0 | vlc_vector_enforce_size_t_(index), \ |
552 | 0 | vlc_vector_enforce_size_t_(count)) |
553 | | |
554 | | #define vlc_vector_remove_slice_noshrink_internal_(pv, index, count) \ |
555 | 0 | do { \ |
556 | 0 | assert(count); \ |
557 | 0 | if ((index) + (count) < (pv)->size) \ |
558 | 0 | memmove(&(pv)->data[index], \ |
559 | 0 | &(pv)->data[(index) + (count)], \ |
560 | 0 | ((pv)->size - (index) - (count)) * sizeof(*(pv)->data)); \ |
561 | 0 | (pv)->size -= (count); \ |
562 | 0 | } while (0) |
563 | | |
564 | | /** |
565 | | * Remove a slice of items. |
566 | | * |
567 | | * The items in range [index+count; size-1] will be moved. |
568 | | * |
569 | | * \param pv a pointer to the vector |
570 | | * \param index the index of the first item to remove |
571 | | * \param count the number of items to remove |
572 | | */ |
573 | | #define vlc_vector_remove_slice(pv, index, count) \ |
574 | 0 | do { \ |
575 | 0 | vlc_vector_remove_slice_noshrink(pv, index, count); \ |
576 | 0 | vlc_vector_autoshrink(pv); \ |
577 | 0 | } while (0) |
578 | | |
579 | | /** |
580 | | * Remove an item, without shrinking the array. |
581 | | * |
582 | | * If you have no good reason to use the _noshrink() version, use |
583 | | * vlc_vector_remove() instead. |
584 | | * |
585 | | * The items in range [index+1; size-1] will be moved. |
586 | | * |
587 | | * \param pv a pointer to the vector |
588 | | * \param index the index of item to remove |
589 | | */ |
590 | | #define vlc_vector_remove_noshrink(pv, index) \ |
591 | 0 | vlc_vector_remove_slice_noshrink(pv, index, 1) |
592 | | |
593 | | /** |
594 | | * Remove an item. |
595 | | * |
596 | | * The items in range [index+1; size-1] will be moved. |
597 | | * |
598 | | * \param pv a pointer to the vector |
599 | | * \param index the index of item to remove |
600 | | */ |
601 | | #define vlc_vector_remove(pv, index) \ |
602 | 0 | do { \ |
603 | 0 | vlc_vector_remove_noshrink(pv, index); \ |
604 | 0 | vlc_vector_autoshrink(pv); \ |
605 | 0 | } while (0) |
606 | | |
607 | | /** |
608 | | * Remove an item. |
609 | | * |
610 | | * The removed item is replaced by the last item of the vector. |
611 | | * |
612 | | * This does not preserve ordering, but is O(1). This is useful when the order |
613 | | * of items is not meaningful. |
614 | | * |
615 | | * \param pv a pointer to the vector |
616 | | * \param index the index of item to remove |
617 | | */ |
618 | | #define vlc_vector_swap_remove(pv, index) \ |
619 | | do { \ |
620 | | (pv)->data[index] = (pv)->data[(pv)->size-1]; \ |
621 | | (pv)->size--; \ |
622 | | } while(0) |
623 | | |
624 | | /** |
625 | | * Return the index of an item. |
626 | | * |
627 | | * Iterate over all items to find a given item. |
628 | | * |
629 | | * Use only for vectors of primitive types or pointers. |
630 | | * |
631 | | * The result is written to `*(pidx)`: |
632 | | * - the index of the item if it is found; |
633 | | * - -1 if it is not found. |
634 | | * |
635 | | * \param pv a pointer to the vector |
636 | | * \param item the item to find (compared with ==) |
637 | | * \param[out] pidx a pointer to the result (ssize_t *) |
638 | | */ |
639 | | #define vlc_vector_index_of(pv, item, pidx) \ |
640 | 0 | do { \ |
641 | 0 | ssize_t *out = pidx; /* warning/error on type mismatch */ \ |
642 | 0 | size_t vlc_vector_find_idx_; \ |
643 | 0 | for (vlc_vector_find_idx_ = 0; \ |
644 | 0 | vlc_vector_find_idx_ < (pv)->size; \ |
645 | 0 | ++vlc_vector_find_idx_) \ |
646 | 0 | if ((pv)->data[vlc_vector_find_idx_] == (item)) \ |
647 | 0 | break; \ |
648 | 0 | *out = vlc_vector_find_idx_ == (pv)->size ? -1 : \ |
649 | 0 | (ssize_t) vlc_vector_find_idx_; \ |
650 | 0 | } while (0) |
651 | | |
652 | | /** |
653 | | * For-each loop. |
654 | | * |
655 | | * Use only for vectors of primitive types or pointers (every struct would be |
656 | | * copied for a vector of structs). |
657 | | * |
658 | | * \param[out] item the iteration variable |
659 | | * \param[out] pv a pointer to the vector |
660 | | */ |
661 | | #define vlc_vector_foreach(item, pv) \ |
662 | 113M | for (size_t vlc_vector_idx_##item = 0; \ |
663 | 113M | vlc_vector_idx_##item < (pv)->size && \ |
664 | 113M | ((item) = (pv)->data[vlc_vector_idx_##item], true); \ |
665 | 113M | ++vlc_vector_idx_##item) |
666 | | |
667 | | /** |
668 | | * For-each loop with a reference iterator. |
669 | | * |
670 | | * Should be used for vector holding non-trivially copyable data. |
671 | | * |
672 | | * \param[out] ref The reference iterator |
673 | | * \param[in] pv a pointer to the vector |
674 | | */ |
675 | | #define vlc_vector_foreach_ref(ref, pv) \ |
676 | 0 | for (size_t vlc_vector_idx_##ref = 0; \ |
677 | 0 | vlc_vector_idx_##ref < (pv)->size && \ |
678 | 0 | ((ref) = &(pv)->data[vlc_vector_idx_##ref], true); \ |
679 | 0 | ++vlc_vector_idx_##ref) |
680 | | |
681 | | /** |
682 | | * Returns the vector's last element. |
683 | | */ |
684 | | #define vlc_vector_last(pv) \ |
685 | | ( \ |
686 | | assert((pv)->size != 0), \ |
687 | | (pv)->data[(pv)->size - 1] \ |
688 | | ) |
689 | | |
690 | | /** |
691 | | * Returns a reference on the vector's last element. |
692 | | */ |
693 | | #define vlc_vector_last_ref(pv) \ |
694 | | ( \ |
695 | | assert((pv)->size != 0), \ |
696 | | &(pv)->data[(pv)->size - 1] \ |
697 | | ) |
698 | | |
699 | | /** @} */ |
700 | | |
701 | | #endif |