Discussion:
[PATCH 1/7] utils: added N_ELEMENTS macro
Johannes Weißl
2010-12-23 13:45:47 UTC
Permalink
Used to count members of static array.
---
input.c | 2 +-
job.c | 2 +-
utils.h | 2 ++
3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/input.c b/input.c
index 38b7911..12e8f23 100644
--- a/input.c
+++ b/input.c
@@ -353,7 +353,7 @@ static int open_remote(struct input_plugin *ip)
if (val) {
int i;

- for (i = 0; i < sizeof(pl_mime_types) / sizeof(pl_mime_types[0]); i++) {
+ for (i = 0; i < N_ELEMENTS(pl_mime_types); i++) {
if (!strcasecmp(val, pl_mime_types[i])) {
d_print("Content-Type: %s\n", val);
http_get_free(&hg);
diff --git a/job.c b/job.c
index 038c27f..a1b71f1 100644
--- a/job.c
+++ b/job.c
@@ -35,7 +35,7 @@ static void flush_ti_buffer(void)

static void add_ti(struct track_info *ti)
{
- if (ti_buffer_fill == sizeof(ti_buffer) / sizeof(ti_buffer[0]))
+ if (ti_buffer_fill == N_ELEMENTS(ti_buffer))
flush_ti_buffer();
ti_buffer[ti_buffer_fill++] = ti;
}
diff --git a/utils.h b/utils.h
index ad77d3f..aede09c 100644
--- a/utils.h
+++ b/utils.h
@@ -28,6 +28,8 @@
#include <time.h>
#include <inttypes.h>

+#define N_ELEMENTS(array) (sizeof(array) / sizeof((array)[0]))
+
static inline int min(int a, int b)
{
return a < b ? a : b;
--
1.7.2.3
Loading...