summaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/main.c b/main.c
index 2631c05..31effbd 100644
--- a/main.c
+++ b/main.c
@@ -177,12 +177,13 @@ void remove_file(int n, bool manual)
free((void*) files[n].name);
if (n + 1 < filecnt) {
- memmove(files + n, files + n + 1, (filecnt - n - 1) * sizeof(fileinfo_t));
- memmove(tns.thumbs + n, tns.thumbs + n + 1, (filecnt - n - 1) *
- sizeof(thumb_t));
- memset(tns.thumbs + filecnt - 1, 0, sizeof(thumb_t));
+ if (tns.thumbs != NULL) {
+ memmove(tns.thumbs + n, tns.thumbs + n + 1, (filecnt - n - 1) *
+ sizeof(*tns.thumbs));
+ memset(tns.thumbs + filecnt - 1, 0, sizeof(*tns.thumbs));
+ }
+ memmove(files + n, files + n + 1, (filecnt - n - 1) * sizeof(*files));
}
-
filecnt--;
if (fileidx >= filecnt)
fileidx = filecnt - 1;