diff options
-rw-r--r-- | commands.c | 5 | ||||
-rw-r--r-- | image.c | 16 |
2 files changed, 5 insertions, 16 deletions
@@ -273,10 +273,7 @@ bool ci_navigate(arg_t n) if (prefix > 0) n *= prefix; n += fileidx; - if (n < 0) - n = 0; - if (n >= filecnt) - n = filecnt - 1; + n = MAX(0, MIN(n, filecnt - 1)); if (n != fileidx) { load_image(n); @@ -898,23 +898,15 @@ bool img_frame_navigate(img_t *img, int d) return false; d += img->multi.sel; - if (d < 0) - d = 0; - else if (d >= img->multi.cnt) - d = img->multi.cnt - 1; + d = MAX(0, MIN(d, img->multi.cnt - 1)); return img_frame_goto(img, d); } bool img_frame_animate(img_t *img) { - if (img->multi.cnt == 0) - return false; - - if (img->multi.sel + 1 >= img->multi.cnt) - img_frame_goto(img, 0); + if (img->multi.cnt > 0) + return img_frame_goto(img, (img->multi.sel + 1) % img->multi.cnt); else - img_frame_goto(img, img->multi.sel + 1); - img->dirty = true; - return true; + return false; } |