diff options
Diffstat (limited to 'core/picture.c')
-rw-r--r-- | core/picture.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/core/picture.c b/core/picture.c index 727500afd..df1304ab8 100644 --- a/core/picture.c +++ b/core/picture.c @@ -58,14 +58,21 @@ void add_picture(struct picture_table *t, struct picture newpic) add_to_picture_table(t, idx, newpic); } -// Return true if picture was found and deleted -bool remove_picture(struct picture_table *t, const char *filename) +int get_picture_idx(const struct picture_table *t, const char *filename) { for (int i = 0; i < t->nr; ++i) { - if (same_string(t->pictures[i].filename, filename)) { - remove_from_picture_table(t, i); - return true; - } + if (same_string(t->pictures[i].filename, filename)) + return i; } - return false; + return -1; +} + +// Return true if picture was found and deleted +bool remove_picture(struct picture_table *t, const char *filename) +{ + int idx = get_picture_idx(t, filename); + if (idx < 0) + return false; + remove_from_picture_table(t, idx); + return true; } |