nsxiv096c0ed
Removed some warnings
+34 −30
2 files changed
| @@ -58,7 +58,7 @@ int _imlib_load_image(const char *filename) { | |||
| 58 | 58 | return 0; | |
| 59 | 59 | ||
| 60 | 60 | if (!(im = imlib_load_image(filename))) { | |
| 61 | − | warn("could not open image: %s", filename); | |
| 61 | + | warn("could not open file: %s", filename); | |
| 62 | 62 | return 0; | |
| 63 | 63 | } | |
| 64 | 64 | ||
| @@ -33,7 +33,7 @@ | |||
| 33 | 33 | #include "window.h" | |
| 34 | 34 | ||
| 35 | 35 | void update_title(); | |
| 36 | − | void check_append(const char*); | |
| 36 | + | int check_append(const char*); | |
| 37 | 37 | void read_dir_rec(const char*); | |
| 38 | 38 | void run(); | |
| 39 | 39 | ||
| @@ -61,10 +61,10 @@ void cleanup() { | |||
| 61 | 61 | int load_image() { | |
| 62 | 62 | struct stat fstats; | |
| 63 | 63 | ||
| 64 | − | if (stat(filenames[fileidx], &fstats)) | |
| 65 | − | warn("could not stat file: %s", filenames[fileidx]); | |
| 66 | − | else | |
| 64 | + | if (!stat(filenames[fileidx], &fstats)) | |
| 67 | 65 | filesize = fstats.st_size; | |
| 66 | + | else | |
| 67 | + | filesize = 0; | |
| 68 | 68 | ||
| 69 | 69 | return img_load(&img, filenames[fileidx]); | |
| 70 | 70 | } | |
| @@ -91,9 +91,7 @@ int main(int argc, char **argv) { | |||
| 91 | 91 | ||
| 92 | 92 | for (i = 0; i < options->filecnt; ++i) { | |
| 93 | 93 | filename = options->filenames[i]; | |
| 94 | − | if (stat(filename, &fstats)) { | |
| 95 | − | warn("could not stat file: %s", filename); | |
| 96 | − | } else if (S_ISDIR(fstats.st_mode)) { | |
| 94 | + | if (!stat(filename, &fstats) && S_ISDIR(fstats.st_mode)) { | |
| 97 | 95 | if (options->recursive) | |
| 98 | 96 | read_dir_rec(filename); | |
| 99 | 97 | else | |
| @@ -145,9 +143,9 @@ void update_title() { | |||
| 145 | 143 | win_set_title(&win, win_title); | |
| 146 | 144 | } | |
| 147 | 145 | ||
| 148 | − | void check_append(const char *filename) { | |
| 146 | + | int check_append(const char *filename) { | |
| 149 | 147 | if (!filename) | |
| 150 | − | return; | |
| 148 | + | return 0; | |
| 151 | 149 | ||
| 152 | 150 | if (img_check(filename)) { | |
| 153 | 151 | if (fileidx == filecnt) { | |
| @@ -156,6 +154,9 @@ void check_append(const char *filename) { | |||
| 156 | 154 | filecnt * sizeof(const char*)); | |
| 157 | 155 | } | |
| 158 | 156 | filenames[fileidx++] = filename; | |
| 157 | + | return 1; | |
| 158 | + | } else { | |
| 159 | + | return 0; | |
| 159 | 160 | } | |
| 160 | 161 | } | |
| 161 | 162 | ||
| @@ -179,29 +180,32 @@ void read_dir_rec(const char *dirname) { | |||
| 179 | 180 | ||
| 180 | 181 | while (diridx > 0) { | |
| 181 | 182 | dirname = dirnames[--diridx]; | |
| 182 | − | if (!(dir = opendir(dirname))) | |
| 183 | − | die("could not open directory: %s", dirname); | |
| 184 | − | while ((dentry = readdir(dir))) { | |
| 185 | − | if (!strcmp(dentry->d_name, ".") || !strcmp(dentry->d_name, "..")) | |
| 186 | − | continue; | |
| 187 | − | len = strlen(dirname) + strlen(dentry->d_name) + 2; | |
| 188 | − | filename = (char*) s_malloc(len * sizeof(char)); | |
| 189 | − | snprintf(filename, len, "%s/%s", dirname, dentry->d_name); | |
| 190 | − | if (stat(filename, &fstats)) { | |
| 191 | − | warn("could not stat file: %s", filename); | |
| 192 | − | free(filename); | |
| 193 | − | } else if (S_ISDIR(fstats.st_mode)) { | |
| 194 | − | if (diridx == dircnt) { | |
| 195 | − | dircnt *= 2; | |
| 196 | − | dirnames = (const char**) s_realloc(dirnames, | |
| 197 | − | dircnt * sizeof(const char*)); | |
| 183 | + | if (!(dir = opendir(dirname))) { | |
| 184 | + | warn("could not open directory: %s", dirname); | |
| 185 | + | } else { | |
| 186 | + | while ((dentry = readdir(dir))) { | |
| 187 | + | if (!strcmp(dentry->d_name, ".") || !strcmp(dentry->d_name, "..")) | |
| 188 | + | continue; | |
| 189 | + | ||
| 190 | + | len = strlen(dirname) + strlen(dentry->d_name) + 2; | |
| 191 | + | filename = (char*) s_malloc(len * sizeof(char)); | |
| 192 | + | snprintf(filename, len, "%s/%s", dirname, dentry->d_name); | |
| 193 | + | ||
| 194 | + | if (!stat(filename, &fstats) && S_ISDIR(fstats.st_mode)) { | |
| 195 | + | if (diridx == dircnt) { | |
| 196 | + | dircnt *= 2; | |
| 197 | + | dirnames = (const char**) s_realloc(dirnames, | |
| 198 | + | dircnt * sizeof(const char*)); | |
| 199 | + | } | |
| 200 | + | dirnames[diridx++] = filename; | |
| 201 | + | } else { | |
| 202 | + | if (!check_append(filename)) | |
| 203 | + | free(filename); | |
| 198 | 204 | } | |
| 199 | − | dirnames[diridx++] = filename; | |
| 200 | − | } else { | |
| 201 | − | check_append(filename); | |
| 202 | 205 | } | |
| 206 | + | closedir(dir); | |
| 203 | 207 | } | |
| 204 | − | closedir(dir); | |
| 208 | + | ||
| 205 | 209 | if (!first) | |
| 206 | 210 | free((void*) dirname); | |
| 207 | 211 | else | |