diff options
Diffstat (limited to 'src/imlib.c')
-rw-r--r-- | src/imlib.c | 38 |
1 files changed, 9 insertions, 29 deletions
diff --git a/src/imlib.c b/src/imlib.c index 2460924..3f73a24 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -316,31 +316,6 @@ char *feh_http_load_image(char *url) #endif /* HAVE_LIBCURL */ -char *feh_strip_hostname(char *url) -{ - char *ret; - char *start; - char *finish; - int len; - - start = strchr(url, '/'); - if (!start) - return(NULL); - - start += 2; - - finish = strchr(start, '/'); - if (!finish) - return(NULL); - - len = finish - start; - - ret = emalloc(len + 1); - strncpy(ret, start, len); - ret[len] = '\0'; - return(ret); -} - void feh_draw_zoom(winwidget w) { static Imlib_Font fn = NULL; @@ -530,7 +505,7 @@ void feh_draw_info(winwidget w) return; } -char *build_caption_filename(feh_file * file) +char *build_caption_filename(feh_file * file, short create_dir) { char *caption_filename; char *s, *dir, *caption_dir; @@ -549,6 +524,8 @@ char *build_caption_filename(feh_file * file) D(("dir %s, cp %s, cdir %s\n", dir, opt.caption_path, caption_dir)) if (stat(caption_dir, &cdir_stat) == -1) { + if (!create_dir) + return NULL; if (mkdir(caption_dir, 0755) == -1) eprintf("Failed to create caption directory %s:", caption_dir); } else if (!S_ISDIR(cdir_stat.st_mode)) @@ -584,9 +561,12 @@ void feh_draw_caption(winwidget w) if (!file->caption) { char *caption_filename; - caption_filename = build_caption_filename(file); - /* read caption from file */ - file->caption = ereadfile(caption_filename); + caption_filename = build_caption_filename(file, 0); + if (caption_filename) + /* read caption from file */ + file->caption = ereadfile(caption_filename); + else + file->caption = estrdup(""); free(caption_filename); } |