[vlc-commits] use ARRAY_SIZE when applicable
Alexandre Janniaux
git at videolan.org
Tue Mar 10 22:15:49 CET 2020
vlc | branch: master | Alexandre Janniaux <ajanni at videolabs.io> | Sun Feb 23 16:19:38 2020 +0100| [0b7ce00c5ed34497279cf69bb45cb62a30f27c14] | committer: Tristan Matthews
use ARRAY_SIZE when applicable
It's easier to read than sizeof(x)/sizeof(*x) and provides more
information than using a define on this previous value.
Signed-off-by: Tristan Matthews <tmatth at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0b7ce00c5ed34497279cf69bb45cb62a30f27c14
---
src/misc/actions.c | 15 +++++++--------
src/misc/fourcc.c | 15 ++++++---------
src/misc/keystore.c | 3 +--
src/misc/threads.c | 4 ++--
src/misc/update.c | 2 +-
src/network/httpd.c | 4 ++--
src/posix/thread.c | 2 +-
src/test/dictionary.c | 2 +-
src/test/extensions.c | 2 +-
src/test/url.c | 2 +-
src/video_output/vout_subpictures.c | 2 +-
test/libvlc/slaves.c | 22 ++++++++++------------
test/modules/demux/dashuri.cpp | 3 ++-
test/modules/keystore/test.c | 2 +-
test/src/input/stream.c | 2 +-
test/src/input/thumbnail.c | 2 +-
test/src/misc/keystore.c | 2 +-
17 files changed, 40 insertions(+), 46 deletions(-)
diff --git a/src/misc/actions.c b/src/misc/actions.c
index 54996e6ce8..b10b07936e 100644
--- a/src/misc/actions.c
+++ b/src/misc/actions.c
@@ -117,7 +117,6 @@ static const struct key_descriptor
{ N_("Zoom In"), KEY_ZOOM_IN },
{ N_("Zoom Out"), KEY_ZOOM_OUT },
};
-#define KEYS_COUNT (sizeof(s_keys)/sizeof(s_keys[0]))
static int keystrcmp (const void *key, const void *elem)
{
@@ -197,7 +196,7 @@ uint_fast32_t vlc_str2keycode (const char *name)
name += len + 1;
}
- struct key_descriptor *d = bsearch (name, s_keys, KEYS_COUNT,
+ struct key_descriptor *d = bsearch (name, s_keys, ARRAY_SIZE(s_keys),
sizeof (s_keys[0]), keystrcmp);
if (d != NULL)
code = d->i_code;
@@ -230,7 +229,7 @@ char *vlc_keycode2str (uint_fast32_t code, bool locale)
char *str, buf[5];
uintptr_t key = code & ~KEY_MODIFIER;
- for (size_t i = 0; i < KEYS_COUNT; i++)
+ for (size_t i = 0; i < ARRAY_SIZE(s_keys); i++)
if (s_keys[i].i_code == key)
{
name = s_keys[i].psz;
@@ -377,7 +376,6 @@ static const struct name2action
{ "zoom-original", ACTIONID_ZOOM_ORIGINAL, },
{ "zoom-quarter", ACTIONID_ZOOM_QUARTER, },
};
-#define ACTIONS_COUNT (sizeof (s_names2actions) / sizeof (s_names2actions[0]))
struct mapping
{
@@ -505,7 +503,7 @@ int libvlc_InternalActionsInit (libvlc_int_t *libvlc)
assert(libvlc != NULL);
vlc_object_t *obj = VLC_OBJECT(libvlc);
- vlc_actions_t *as = malloc (sizeof (*as) + (1 + ACTIONS_COUNT)
+ vlc_actions_t *as = malloc (sizeof (*as) + (1 + ARRAY_SIZE(s_names2actions))
* sizeof (*as->ppsz_keys));
if (unlikely(as == NULL))
@@ -518,7 +516,7 @@ int libvlc_InternalActionsInit (libvlc_int_t *libvlc)
var_Create (obj, "key-action", VLC_VAR_INTEGER);
/* Initialize from configuration */
- for (size_t i = 0; i < ACTIONS_COUNT; i++)
+ for (size_t i = 0; i < ARRAY_SIZE(s_names2actions); i++)
{
#ifndef NDEBUG
if (i > 0
@@ -537,7 +535,7 @@ int libvlc_InternalActionsInit (libvlc_int_t *libvlc)
init_action (obj, &as->map, name + 7, s_names2actions[i].id);
init_action (obj, &as->global_map, name, s_names2actions[i].id);
}
- as->ppsz_keys[ACTIONS_COUNT] = NULL;
+ as->ppsz_keys[ARRAY_SIZE(s_names2actions)] = NULL;
/* Initialize mouse wheel events */
add_wheel_mapping (&as->map, KEY_MOUSEWHEELRIGHT, KEY_MOUSEWHEELLEFT,
@@ -593,7 +591,8 @@ vlc_actions_get_id (const char *name)
return ACTIONID_NONE;
name += 4;
- act = bsearch(name, s_names2actions, ACTIONS_COUNT, sizeof(*act), actcmp);
+ act = bsearch(name, s_names2actions, ARRAY_SIZE(s_names2actions),
+ sizeof(*act), actcmp);
return (act != NULL) ? act->id : ACTIONID_NONE;
}
diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c
index 9b4ea14c31..d4646e2e0d 100644
--- a/src/misc/fourcc.c
+++ b/src/misc/fourcc.c
@@ -72,23 +72,20 @@ static vlc_fourcc_t Lookup(vlc_fourcc_t fourcc, const char **restrict dsc,
static vlc_fourcc_t LookupVideo(vlc_fourcc_t fourcc, const char **restrict dsc)
{
- return Lookup(fourcc, dsc, mapping_video,
- sizeof (mapping_video) / sizeof (mapping_video[0]),
- desc_video, sizeof (desc_video) / sizeof (desc_video[0]));
+ return Lookup(fourcc, dsc, mapping_video, ARRAY_SIZE(mapping_video),
+ desc_video, ARRAY_SIZE(desc_video));
}
static vlc_fourcc_t LookupAudio(vlc_fourcc_t fourcc, const char **restrict dsc)
{
- return Lookup(fourcc, dsc, mapping_audio,
- sizeof (mapping_audio) / sizeof (mapping_audio[0]),
- desc_audio, sizeof (desc_audio) / sizeof (desc_audio[0]));
+ return Lookup(fourcc, dsc, mapping_audio, ARRAY_SIZE(mapping_audio),
+ desc_audio, ARRAY_SIZE(desc_audio));
}
static vlc_fourcc_t LookupSpu(vlc_fourcc_t fourcc, const char **restrict dsc)
{
- return Lookup(fourcc, dsc, mapping_spu,
- sizeof (mapping_spu) / sizeof (mapping_spu[0]),
- desc_spu, sizeof (desc_spu) / sizeof (desc_spu[0]));
+ return Lookup(fourcc, dsc, mapping_spu, ARRAY_SIZE(mapping_spu),
+ desc_spu, ARRAY_SIZE(desc_spu));
}
static vlc_fourcc_t LookupCat(vlc_fourcc_t fourcc, const char **restrict dsc,
diff --git a/src/misc/keystore.c b/src/misc/keystore.c
index 55b094350d..b5b4cc7e50 100644
--- a/src/misc/keystore.c
+++ b/src/misc/keystore.c
@@ -234,8 +234,7 @@ protocol_set_port(const vlc_url_t *p_url, char *psz_port)
i_port = p_url->i_port;
else
{
- for (unsigned int i = 0; i < sizeof(protocol_default_ports)
- / sizeof(*protocol_default_ports); ++i)
+ for (unsigned int i = 0; i < ARRAY_SIZE(protocol_default_ports); ++i)
{
if (strcasecmp(p_url->psz_protocol,
protocol_default_ports[i].psz_protocol) == 0)
diff --git a/src/misc/threads.c b/src/misc/threads.c
index 5a63e6a3ce..b1eb9888f2 100644
--- a/src/misc/threads.c
+++ b/src/misc/threads.c
@@ -51,9 +51,9 @@ void vlc_global_mutex (unsigned n, bool acquire)
VLC_STATIC_MUTEX, // For MTA holder
#endif
};
- static_assert (VLC_MAX_MUTEX == (sizeof (locks) / sizeof (locks[0])),
+ static_assert (VLC_MAX_MUTEX == ARRAY_SIZE(locks),
"Wrong number of global mutexes");
- assert (n < (sizeof (locks) / sizeof (locks[0])));
+ assert (n < ARRAY_SIZE(locks));
vlc_mutex_t *lock = locks + n;
if (acquire)
diff --git a/src/misc/update.c b/src/misc/update.c
index 44a446d8d6..ac1a565bb0 100644
--- a/src/misc/update.c
+++ b/src/misc/update.c
@@ -447,7 +447,7 @@ bool update_NeedUpgrade( update_t *p_update )
p_update->release.i_extra
};
- for (unsigned i = 0; i < sizeof latest / sizeof *latest; i++) {
+ for (unsigned i = 0; i < ARRAY_SIZE( latest ); i++) {
/* there is a new version available */
if (latest[i] > current[i])
return true;
diff --git a/src/network/httpd.c b/src/network/httpd.c
index 1cb58bb540..ada8e57517 100644
--- a/src/network/httpd.c
+++ b/src/network/httpd.c
@@ -1734,7 +1734,7 @@ static void httpdLoop(httpd_host_t *host)
}
struct pollfd *pufd = ufd + nfd;
- assert (pufd < ufd + (sizeof (ufd) / sizeof (ufd[0])));
+ assert (pufd < ufd + ARRAY_SIZE (ufd));
pufd->events = pufd->revents = 0;
@@ -1984,7 +1984,7 @@ static void httpdLoop(httpd_host_t *host)
vlc_list_foreach(cl, &host->clients, node) {
const struct pollfd *pufd = &ufd[nfd];
- assert(pufd < &ufd[sizeof(ufd) / sizeof(ufd[0])]);
+ assert(pufd < &ufd[ARRAY_SIZE(ufd)]);
if (vlc_tls_GetFD(cl->sock) != pufd->fd)
continue; // we were not waiting for this client
diff --git a/src/posix/thread.c b/src/posix/thread.c
index 27a4a49a98..e34725c7f1 100644
--- a/src/posix/thread.c
+++ b/src/posix/thread.c
@@ -71,7 +71,7 @@ void vlc_trace (const char *fn, const char *file, unsigned line)
fflush (stderr); /* needed before switch to low-level I/O */
#ifdef HAVE_BACKTRACE
void *stack[20];
- int len = backtrace (stack, sizeof (stack) / sizeof (stack[0]));
+ int len = backtrace (stack, ARRAY_SIZE (stack) );
backtrace_symbols_fd (stack, len, 2);
#endif
fsync (2);
diff --git a/src/test/dictionary.c b/src/test/dictionary.c
index 92b1d82328..3c00a50dff 100644
--- a/src/test/dictionary.c
+++ b/src/test/dictionary.c
@@ -65,7 +65,7 @@ int main (void)
static const char * our_keys[] = {
"Hello", "Hella", "flowmeter", "Frostnipped", "frostnipped", "remiform", "quadrifoliolate", "singularity", "unafflicted"
};
- const int size = sizeof(our_keys)/sizeof(our_keys[0]);
+ const int size = ARRAY_SIZE(our_keys);
char ** keys;
intptr_t i = 0;
diff --git a/src/test/extensions.c b/src/test/extensions.c
index 378570f996..ab71111cad 100644
--- a/src/test/extensions.c
+++ b/src/test/extensions.c
@@ -39,7 +39,7 @@ static void check_extensions( const char* const* extensions, size_t nb_exts )
do \
{ \
const char* const exts[] = { ext_list }; \
- check_extensions( exts, sizeof( exts ) / sizeof( exts[0] ) ); \
+ check_extensions( exts, ARRAY_SIZE( exts ) ); \
} while(0);
int main(void)
diff --git a/src/test/url.c b/src/test/url.c
index 3912e1a78c..5f31047c2d 100644
--- a/src/test/url.c
+++ b/src/test/url.c
@@ -231,7 +231,7 @@ int main (void)
}
char buf[256];
- char *tmpdir = getcwd(buf, sizeof (buf) / sizeof (*buf));
+ char *tmpdir = getcwd(buf, ARRAY_SIZE (buf));
if (tmpdir == NULL)
{
perror("getcwd");
diff --git a/src/video_output/vout_subpictures.c b/src/video_output/vout_subpictures.c
index 5a67f061a5..59aaf64b44 100644
--- a/src/video_output/vout_subpictures.c
+++ b/src/video_output/vout_subpictures.c
@@ -1161,7 +1161,7 @@ static subpicture_t *SpuRenderSubpictures(spu_t *spu,
size_t subtitle_area_count = 0;
subtitle_area = subtitle_area_buffer;
- if (subtitle_region_count > sizeof(subtitle_area_buffer)/sizeof(*subtitle_area_buffer))
+ if (subtitle_region_count > ARRAY_SIZE(subtitle_area_buffer))
subtitle_area = calloc(subtitle_region_count, sizeof(*subtitle_area));
/* Process all subpictures and regions (in the right order) */
diff --git a/test/libvlc/slaves.c b/test/libvlc/slaves.c
index 5863bf2ce4..4b540b7b68 100644
--- a/test/libvlc/slaves.c
+++ b/test/libvlc/slaves.c
@@ -170,8 +170,7 @@ main (void)
{ NULL, libvlc_media_slave_type_subtitle, 0 /* none */ },
};
- #define EXPECTED_SLAVES_COUNT (sizeof(p_expected_slaves) / sizeof(*p_expected_slaves))
- static_assert((sizeof(pp_slave_paths) / sizeof(*pp_slave_paths)) == EXPECTED_SLAVES_COUNT,
+ static_assert(ARRAY_SIZE(pp_slave_paths) == ARRAY_SIZE(p_expected_slaves),
"pp_slave_paths and p_expected_slaves mismatch");
const char *pp_args[] = {
@@ -180,13 +179,12 @@ main (void)
"--codec", "none", /* to ensure we don't depend on codec modules */
NULL /* "sub-autodetect-file" place holder */
};
- #define ARGC (sizeof(pp_args) / sizeof(*pp_args))
- libvlc_instance_t *p_vlc = libvlc_new(ARGC - 1, pp_args);
+ libvlc_instance_t *p_vlc = libvlc_new(ARRAY_SIZE(pp_args) - 1, pp_args);
assert(p_vlc != NULL);
/* Fill p_expected_slaves with correct VLC mrls */
- for (unsigned int i = 0; i < EXPECTED_SLAVES_COUNT; ++i)
+ for (unsigned int i = 0; i < ARRAY_SIZE(p_expected_slaves); ++i)
{
p_expected_slaves[i].psz_uri = path_to_mrl(p_vlc, pp_slave_paths[i]);
assert(p_expected_slaves[i].psz_uri != NULL);
@@ -195,12 +193,12 @@ main (void)
printf("== Testing --sub-autodetect-fuzzy 1 (everything) ==\n");
test_media_has_slaves_from_parent(p_vlc, SLAVES_DIR "/test.mp4",
p_expected_slaves,
- EXPECTED_SLAVES_COUNT);
+ ARRAY_SIZE(p_expected_slaves));
libvlc_release(p_vlc);
printf("== Testing --sub-autodetect-fuzzy 2 (full, left, and right match) ==\n");
pp_args[2] = "2";
- p_vlc = libvlc_new(ARGC - 1, pp_args);
+ p_vlc = libvlc_new(ARRAY_SIZE(pp_args) - 1, pp_args);
assert(p_vlc != NULL);
test_media_has_slaves_from_parent(p_vlc, SLAVES_DIR "/test.mp4",
p_expected_slaves, 3);
@@ -212,7 +210,7 @@ main (void)
printf("== Testing --sub-autodetect-fuzzy 3 (full and left match) ==\n");
pp_args[2] = "3";
- p_vlc = libvlc_new(ARGC - 1, pp_args);
+ p_vlc = libvlc_new(ARRAY_SIZE(pp_args) - 1, pp_args);
assert(p_vlc != NULL);
test_media_has_slaves_from_parent(p_vlc, SLAVES_DIR "/test.mp4",
p_expected_slaves, 2);
@@ -220,20 +218,20 @@ main (void)
printf("== Testing --sub-autodetect-fuzzy 4 (full match) ==\n");
pp_args[2] = "4";
- p_vlc = libvlc_new(ARGC - 1, pp_args);
+ p_vlc = libvlc_new(ARRAY_SIZE(pp_args) - 1, pp_args);
assert(p_vlc != NULL);
test_media_has_slaves_from_parent(p_vlc, SLAVES_DIR "/test.mp4",
p_expected_slaves, 1);
libvlc_release(p_vlc);
printf("== Testing --no-sub-autodetect-file (no match) ==\n");
- pp_args[ARGC - 1] = "--no-sub-autodetect-file";
- p_vlc = libvlc_new(ARGC, pp_args);
+ pp_args[ARRAY_SIZE(pp_args) - 1] = "--no-sub-autodetect-file";
+ p_vlc = libvlc_new(ARRAY_SIZE(pp_args), pp_args);
assert(p_vlc != NULL);
test_media_has_slaves_from_parent(p_vlc, SLAVES_DIR "/test.mp4", NULL, 0);
libvlc_release(p_vlc);
- for (unsigned int i = 0; i < EXPECTED_SLAVES_COUNT; ++i)
+ for (unsigned int i = 0; i < ARRAY_SIZE(p_expected_slaves); ++i)
free(p_expected_slaves[i].psz_uri);
return 0;
diff --git a/test/modules/demux/dashuri.cpp b/test/modules/demux/dashuri.cpp
index fb2be90e4a..925665002f 100644
--- a/test/modules/demux/dashuri.cpp
+++ b/test/modules/demux/dashuri.cpp
@@ -25,6 +25,7 @@
#include <iostream>
#include <cstring>
+#include <vlc_common.h>
using namespace dash::mpd;
@@ -105,7 +106,7 @@ static const struct
int main(int, char **)
{
- for(size_t i=0; i<sizeof(dataset)/sizeof(dataset[0]); i++)
+ for(size_t i=0; i<ARRAY_SIZE(dataset); i++)
{
std::string str = std::string(dataset[i].src);
diff --git a/test/modules/keystore/test.c b/test/modules/keystore/test.c
index 0ddb82758a..38e9ad9aab 100644
--- a/test/modules/keystore/test.c
+++ b/test/modules/keystore/test.c
@@ -309,7 +309,7 @@ main(int i_argc, char *ppsz_argv[])
libvlc_instance_t *p_libvlc = libvlc_new(0, NULL);
assert(p_libvlc != NULL);
- for (unsigned int i = 0; i < sizeof(keystore_args)/sizeof(*keystore_args); ++i)
+ for (unsigned int i = 0; i < ARRAY_SIZE(keystore_args); ++i)
{
const char *psz_module = keystore_args[i].psz_module;
diff --git a/test/src/input/stream.c b/test/src/input/stream.c
index 86adbbae21..d5538e8a4b 100644
--- a/test/src/input/stream.c
+++ b/test/src/input/stream.c
@@ -199,7 +199,7 @@ stream_open( const char *psz_url )
p_reader = calloc( 1, sizeof(struct reader) );
assert( p_reader );
- p_vlc = libvlc_new( sizeof(argv) / sizeof(argv[0]), argv );
+ p_vlc = libvlc_new( ARRAY_SIZE(argv), argv );
assert( p_vlc != NULL );
p_reader->u.s = vlc_stream_NewURL( p_vlc->p_libvlc_int, psz_url );
diff --git a/test/src/input/thumbnail.c b/test/src/input/thumbnail.c
index b7dc26f978..3a3e61a28e 100644
--- a/test/src/input/thumbnail.c
+++ b/test/src/input/thumbnail.c
@@ -115,7 +115,7 @@ static void test_thumbnails( libvlc_instance_t* p_vlc )
vlc_cond_init( &ctx.cond );
vlc_mutex_init( &ctx.lock );
- for ( size_t i = 0; i < sizeof(test_params) / sizeof(test_params[0]); ++i)
+ for ( size_t i = 0; i < ARRAY_SIZE(test_params); ++i)
{
char* psz_mrl;
diff --git a/test/src/misc/keystore.c b/test/src/misc/keystore.c
index 36d07169e7..d510b5d1cf 100644
--- a/test/src/misc/keystore.c
+++ b/test/src/misc/keystore.c
@@ -353,7 +353,7 @@ main(void)
libvlc_instance_t *p_libvlc = create_libvlc(i_vlc_argc, ppsz_vlc_argv);
- for (unsigned int i = 0; i < sizeof(testcases)/sizeof(*testcases); ++i)
+ for (unsigned int i = 0; i < ARRAY_SIZE(testcases); ++i)
{
if (testcases[i].psz_url == NULL)
{
More information about the vlc-commits
mailing list