瀏覽代碼

Only open regular files; fixes issue #252

master
Bert Münnich 8 年之前
父節點
當前提交
878d97068c
共有 3 個檔案被更改,包括 15 行新增8 行删除
  1. +1
    -1
      Makefile
  2. +4
    -1
      image.c
  3. +10
    -6
      thumbs.c

+ 1
- 1
Makefile 查看文件

@@ -1,4 +1,4 @@
VERSION := git-20160928
VERSION := git-20161020

PREFIX := /usr/local
MANPREFIX := $(PREFIX)/share/man


+ 4
- 1
image.c 查看文件

@@ -19,6 +19,7 @@
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>

@@ -296,8 +297,10 @@ bool img_load_gif(img_t *img, const fileinfo_t *file)
bool img_load(img_t *img, const fileinfo_t *file)
{
const char *fmt;
struct stat st;

if (access(file->path, R_OK) < 0 ||
if (access(file->path, R_OK) == -1 ||
stat(file->path, &st) == -1 || !S_ISREG(st.st_mode) ||
(img->im = imlib_load_image(file->path)) == NULL)
{
if (file->flags & FF_WARN)


+ 10
- 6
thumbs.c 查看文件

@@ -239,6 +239,7 @@ bool tns_load(tns_t *tns, int n, bool force, bool cache_only)
float zw, zh;
thumb_t *t;
fileinfo_t *file;
struct stat st;
Imlib_Image im = NULL;

if (n < 0 || n >= *tns->cnt)
@@ -330,12 +331,15 @@ bool tns_load(tns_t *tns, int n, bool force, bool cache_only)
}
}

if (im == NULL && (access(file->path, R_OK) < 0 ||
(im = imlib_load_image(file->path)) == NULL))
{
if (file->flags & FF_WARN)
error(0, 0, "%s: Error opening image", file->name);
return false;
if (im == NULL) {
if (access(file->path, R_OK) == -1 ||
stat(file->path, &st) == -1 || !S_ISREG(st.st_mode) ||
(im = imlib_load_image(file->path)) == NULL)
{
if (file->flags & FF_WARN)
error(0, 0, "%s: Error opening image", file->name);
return false;
}
}
imlib_context_set_image(im);



Loading…
取消
儲存