summaryrefslogtreecommitdiffstats
path: root/core/picture.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/picture.c')
-rw-r--r--core/picture.c21
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;
}