Coverage Report

Created: 2025-10-12 06:51

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/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