From dfac5e93c4ae3e9538e554cb32b5a8a1db22da99 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Mon, 2 Jun 2014 17:07:26 -0300 Subject: [PATCH] Add a FOR_EACH_PICTURE macro and the code for picture_count. Add the FOR_EACH_PICTURE macro and the code for picture count. This uses C99 - but I will keep it like this and wait for dirk to scream at me. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- dive.c | 4 ++++ dive.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/dive.c b/dive.c index 3b448e503..f1e113d05 100644 --- a/dive.c +++ b/dive.c @@ -2272,6 +2272,10 @@ struct picture* dive_add_picture(struct dive *d, char *picture) uint dive_get_picture_count(struct dive *d) { + uint i = 0; + FOR_EACH_PICTURE( d ) + i++; + return i; } void dive_remove_picture(struct dive *d, char *picture) diff --git a/dive.h b/dive.h index e41267e84..87a786841 100644 --- a/dive.h +++ b/dive.h @@ -289,6 +289,9 @@ struct picture { struct picture *next; }; +#define FOR_EACH_PICTURE( DIVE ) \ + for(struct picture *picture = DIVE->picture_list; picture; picture = picture->next) + extern struct picture *dive_add_picture(struct dive *d, char *picture); extern void dive_remove_picture(struct dive *d, char *picture); extern uint dive_get_picture_count(struct dive *d);