Kaynağa Gözat

Do not print could-not-open-warnings for files found by directory traversal

master
Bert Münnich 10 yıl önce
ebeveyn
işleme
93e2a757d4
4 değiştirilmiş dosya ile 14 ekleme ve 11 silme
  1. +3
    -2
      image.c
  2. +8
    -7
      main.c
  3. +2
    -1
      thumbs.c
  4. +1
    -1
      types.h

+ 3
- 2
image.c Dosyayı Görüntüle

@@ -292,7 +292,7 @@ bool img_load_gif(img_t *img, const fileinfo_t *file)
DGifCloseFile(gif);
#endif

if (err && !file->loaded)
if (err && file->warn)
warn("corrupted gif file: %s", file->name);

if (img->multi.cnt > 1) {
@@ -321,7 +321,8 @@ bool img_load(img_t *img, const fileinfo_t *file)
if (access(file->path, R_OK) < 0 ||
(img->im = imlib_load_image(file->path)) == NULL)
{
warn("could not open image: %s", file->name);
if (file->warn)
warn("could not open image: %s", file->name);
return false;
}



+ 8
- 7
main.c Dosyayı Görüntüle

@@ -113,7 +113,7 @@ void cleanup(void)
}
}

void check_add_file(char *filename)
void check_add_file(char *filename, bool given)
{
const char *bn;

@@ -121,7 +121,8 @@ void check_add_file(char *filename)
return;

if (access(filename, R_OK) < 0) {
warn("could not open file: %s", filename);
if (given)
warn("could not open file: %s", filename);
return;
}

@@ -148,7 +149,7 @@ void check_add_file(char *filename)
}
#endif

files[fileidx].loaded = false;
files[fileidx].warn = given;
files[fileidx].name = s_strdup(filename);
if (files[fileidx].path == NULL)
files[fileidx].path = files[fileidx].name;
@@ -332,7 +333,7 @@ void load_image(int new)
else if (new > 0 && new < fileidx)
new--;
}
files[new].loaded = true;
files[new].warn = false;
fileidx = current = new;

info.open = false;
@@ -810,7 +811,7 @@ int main(int argc, char **argv)
while ((len = get_line(&filename, &n, stdin)) > 0) {
if (filename[len-1] == '\n')
filename[len-1] = '\0';
check_add_file(filename);
check_add_file(filename, true);
}
free(filename);
}
@@ -823,7 +824,7 @@ int main(int argc, char **argv)
continue;
}
if (!S_ISDIR(fstats.st_mode)) {
check_add_file(filename);
check_add_file(filename, true);
} else {
if (!options->recursive) {
warn("ignoring directory: %s", filename);
@@ -835,7 +836,7 @@ int main(int argc, char **argv)
}
start = fileidx;
while ((filename = r_readdir(&dir)) != NULL) {
check_add_file(filename);
check_add_file(filename, false);
free((void*) filename);
}
r_closedir(&dir);


+ 2
- 1
thumbs.c Dosyayı Görüntüle

@@ -323,7 +323,8 @@ bool tns_load(tns_t *tns, int n, bool force)
if (im == NULL && (access(file->path, R_OK) < 0 ||
(im = imlib_load_image(file->path)) == NULL))
{
warn("could not open image: %s", file->name);
if (file->warn)
warn("could not open image: %s", file->name);
return false;
}
}


+ 1
- 1
types.h Dosyayı Görüntüle

@@ -68,7 +68,7 @@ typedef struct {
const char *name; /* as given by user */
const char *path; /* always absolute */
const char *base;
bool loaded;
bool warn;
bool marked;
} fileinfo_t;



Yükleniyor…
İptal
Kaydet