diff options
Diffstat (limited to 'apps/plugins')
-rw-r--r-- | apps/plugins/disktidy.c | 11 | ||||
-rw-r--r-- | apps/plugins/lua/luadir.c | 3 | ||||
-rw-r--r-- | apps/plugins/md5sum.c | 4 | ||||
-rw-r--r-- | apps/plugins/properties.c | 23 | ||||
-rw-r--r-- | apps/plugins/random_folder_advance_config.c | 3 | ||||
-rw-r--r-- | apps/plugins/stats.c | 3 | ||||
-rw-r--r-- | apps/plugins/theme_remove.c | 3 |
7 files changed, 31 insertions, 19 deletions
diff --git a/apps/plugins/disktidy.c b/apps/plugins/disktidy.c index c5f0f4a7bd..1e6c1536e2 100644 --- a/apps/plugins/disktidy.c +++ b/apps/plugins/disktidy.c | |||
@@ -244,7 +244,9 @@ enum tidy_return tidy_removedir(char *path, int *path_length) | |||
244 | /* silent error */ | 244 | /* silent error */ |
245 | continue; | 245 | continue; |
246 | 246 | ||
247 | if (entry->attribute & ATTR_DIRECTORY) | 247 | |
248 | struct dirinfo info = rb->dir_get_info(dir, entry); | ||
249 | if (info.attribute & ATTR_DIRECTORY) | ||
248 | { | 250 | { |
249 | /* dir ignore "." and ".." */ | 251 | /* dir ignore "." and ".." */ |
250 | if ((rb->strcmp(entry->d_name, ".") != 0) && \ | 252 | if ((rb->strcmp(entry->d_name, ".") != 0) && \ |
@@ -297,6 +299,7 @@ enum tidy_return tidy_clean(char *path, int *path_length) | |||
297 | while((status == TIDY_RETURN_OK) && ((entry = rb->readdir(dir)) != 0)) | 299 | while((status == TIDY_RETURN_OK) && ((entry = rb->readdir(dir)) != 0)) |
298 | /* walk directory */ | 300 | /* walk directory */ |
299 | { | 301 | { |
302 | struct dirinfo info = rb->dir_get_info(dir, entry); | ||
300 | /* check for user input and usb connect */ | 303 | /* check for user input and usb connect */ |
301 | button = rb->get_action(CONTEXT_STD, TIMEOUT_NOBLOCK); | 304 | button = rb->get_action(CONTEXT_STD, TIMEOUT_NOBLOCK); |
302 | if (button == ACTION_STD_CANCEL) | 305 | if (button == ACTION_STD_CANCEL) |
@@ -312,7 +315,7 @@ enum tidy_return tidy_clean(char *path, int *path_length) | |||
312 | 315 | ||
313 | rb->yield(); | 316 | rb->yield(); |
314 | 317 | ||
315 | if (entry->attribute & ATTR_DIRECTORY) | 318 | if (info.attribute & ATTR_DIRECTORY) |
316 | { | 319 | { |
317 | /* directory ignore "." and ".." */ | 320 | /* directory ignore "." and ".." */ |
318 | if ((rb->strcmp(entry->d_name, ".") != 0) && \ | 321 | if ((rb->strcmp(entry->d_name, ".") != 0) && \ |
@@ -326,7 +329,7 @@ enum tidy_return tidy_clean(char *path, int *path_length) | |||
326 | /* silent error */ | 329 | /* silent error */ |
327 | continue; | 330 | continue; |
328 | 331 | ||
329 | if (tidy_remove_item(entry->d_name, entry->attribute)) | 332 | if (tidy_remove_item(entry->d_name, info.attribute)) |
330 | { | 333 | { |
331 | /* delete dir */ | 334 | /* delete dir */ |
332 | tidy_removedir(path, path_length); | 335 | tidy_removedir(path, path_length); |
@@ -347,7 +350,7 @@ enum tidy_return tidy_clean(char *path, int *path_length) | |||
347 | { | 350 | { |
348 | /* file */ | 351 | /* file */ |
349 | del = 0; | 352 | del = 0; |
350 | if (tidy_remove_item(entry->d_name, entry->attribute)) | 353 | if (tidy_remove_item(entry->d_name, info.attribute)) |
351 | { | 354 | { |
352 | /* get absolute path */ | 355 | /* get absolute path */ |
353 | /* returns an error if path is too long */ | 356 | /* returns an error if path is too long */ |
diff --git a/apps/plugins/lua/luadir.c b/apps/plugins/lua/luadir.c index 730c40ce22..c8c21d2c65 100644 --- a/apps/plugins/lua/luadir.c +++ b/apps/plugins/lua/luadir.c | |||
@@ -56,8 +56,9 @@ static int dir_iter (lua_State *L) { | |||
56 | luaL_argcheck (L, !d->closed, 1, "closed directory"); | 56 | luaL_argcheck (L, !d->closed, 1, "closed directory"); |
57 | 57 | ||
58 | if ((entry = rb->readdir (d->dir)) != NULL) { | 58 | if ((entry = rb->readdir (d->dir)) != NULL) { |
59 | struct dirinfo info = rb->dir_get_info(d->dir, entry); | ||
59 | lua_pushstring (L, entry->d_name); | 60 | lua_pushstring (L, entry->d_name); |
60 | lua_pushboolean (L, entry->attribute & ATTR_DIRECTORY); | 61 | lua_pushboolean (L, info.attribute & ATTR_DIRECTORY); |
61 | return 2; | 62 | return 2; |
62 | } else { | 63 | } else { |
63 | /* no more entries => close directory */ | 64 | /* no more entries => close directory */ |
diff --git a/apps/plugins/md5sum.c b/apps/plugins/md5sum.c index fe1c65efb0..c993018852 100644 --- a/apps/plugins/md5sum.c +++ b/apps/plugins/md5sum.c | |||
@@ -95,7 +95,9 @@ static void hash_dir( int out, const char *path ) | |||
95 | char childpath[MAX_PATH]; | 95 | char childpath[MAX_PATH]; |
96 | rb->snprintf( childpath, MAX_PATH, "%s/%s", | 96 | rb->snprintf( childpath, MAX_PATH, "%s/%s", |
97 | rb->strcmp( path, "/" ) ? path : "", entry->d_name ); | 97 | rb->strcmp( path, "/" ) ? path : "", entry->d_name ); |
98 | if( entry->attribute & ATTR_DIRECTORY ) | 98 | |
99 | struct dirinfo info = rb->dir_get_info(dir, entry); | ||
100 | if (info.attribute & ATTR_DIRECTORY) | ||
99 | { | 101 | { |
100 | if( rb->strcmp( entry->d_name, "." ) | 102 | if( rb->strcmp( entry->d_name, "." ) |
101 | && rb->strcmp( entry->d_name, ".." ) ) | 103 | && rb->strcmp( entry->d_name, ".." ) ) |
diff --git a/apps/plugins/properties.c b/apps/plugins/properties.c index d6692bc893..e127a2908e 100644 --- a/apps/plugins/properties.c +++ b/apps/plugins/properties.c | |||
@@ -69,22 +69,23 @@ static bool file_properties(char* selected_file) | |||
69 | { | 69 | { |
70 | while(0 != (entry = rb->readdir(dir))) | 70 | while(0 != (entry = rb->readdir(dir))) |
71 | { | 71 | { |
72 | struct dirinfo info = rb->dir_get_info(dir, entry); | ||
72 | if(!rb->strcmp(entry->d_name, selected_file+dirlen)) | 73 | if(!rb->strcmp(entry->d_name, selected_file+dirlen)) |
73 | { | 74 | { |
74 | unsigned log; | 75 | unsigned log; |
75 | rb->snprintf(str_dirname, sizeof str_dirname, "Path: %s", tstr); | 76 | rb->snprintf(str_dirname, sizeof str_dirname, "Path: %s", tstr); |
76 | rb->snprintf(str_filename, sizeof str_filename, "Name: %s", | 77 | rb->snprintf(str_filename, sizeof str_filename, "Name: %s", |
77 | selected_file+dirlen); | 78 | selected_file+dirlen); |
78 | log = human_size_log(entry->size); | 79 | log = human_size_log(info.size); |
79 | rb->snprintf(str_size, sizeof str_size, "Size: %ld %cB", | 80 | rb->snprintf(str_size, sizeof str_size, "Size: %ld %cB", |
80 | entry->size >> (log*10), human_size_prefix[log]); | 81 | info.size >> (log*10), human_size_prefix[log]); |
81 | rb->snprintf(str_date, sizeof str_date, "Date: %04d/%02d/%02d", | 82 | rb->snprintf(str_date, sizeof str_date, "Date: %04d/%02d/%02d", |
82 | ((entry->wrtdate >> 9 ) & 0x7F) + 1980, /* year */ | 83 | ((info.wrtdate >> 9 ) & 0x7F) + 1980, /* year */ |
83 | ((entry->wrtdate >> 5 ) & 0x0F), /* month */ | 84 | ((info.wrtdate >> 5 ) & 0x0F), /* month */ |
84 | ((entry->wrtdate ) & 0x1F)); /* day */ | 85 | ((info.wrtdate ) & 0x1F)); /* day */ |
85 | rb->snprintf(str_time, sizeof str_time, "Time: %02d:%02d", | 86 | rb->snprintf(str_time, sizeof str_time, "Time: %02d:%02d", |
86 | ((entry->wrttime >> 11) & 0x1F), /* hour */ | 87 | ((info.wrttime >> 11) & 0x1F), /* hour */ |
87 | ((entry->wrttime >> 5 ) & 0x3F)); /* minutes */ | 88 | ((info.wrttime >> 5 ) & 0x3F)); /* minutes */ |
88 | 89 | ||
89 | num_properties = 5; | 90 | num_properties = 5; |
90 | 91 | ||
@@ -158,11 +159,12 @@ static bool _dir_properties(DPS* dps) | |||
158 | /* walk through the directory content */ | 159 | /* walk through the directory content */ |
159 | while(result && (0 != (entry = rb->readdir(dir)))) | 160 | while(result && (0 != (entry = rb->readdir(dir)))) |
160 | { | 161 | { |
162 | struct dirinfo info = rb->dir_get_info(dir, entry); | ||
161 | /* append name to current directory */ | 163 | /* append name to current directory */ |
162 | rb->snprintf(dps->dirname+dirlen, dps->len-dirlen, "/%s", | 164 | rb->snprintf(dps->dirname+dirlen, dps->len-dirlen, "/%s", |
163 | entry->d_name); | 165 | entry->d_name); |
164 | 166 | ||
165 | if (entry->attribute & ATTR_DIRECTORY) | 167 | if (info.attribute & ATTR_DIRECTORY) |
166 | { | 168 | { |
167 | unsigned log; | 169 | unsigned log; |
168 | 170 | ||
@@ -188,7 +190,7 @@ static bool _dir_properties(DPS* dps) | |||
188 | else | 190 | else |
189 | { | 191 | { |
190 | dps->fc++; /* new file */ | 192 | dps->fc++; /* new file */ |
191 | dps->bc += entry->size; | 193 | dps->bc += info.size; |
192 | } | 194 | } |
193 | if(ACTION_STD_CANCEL == rb->get_action(CONTEXT_STD,TIMEOUT_NOBLOCK)) | 195 | if(ACTION_STD_CANCEL == rb->get_action(CONTEXT_STD,TIMEOUT_NOBLOCK)) |
194 | result = false; | 196 | result = false; |
@@ -290,7 +292,8 @@ enum plugin_status plugin_start(const void* parameter) | |||
290 | { | 292 | { |
291 | if(!rb->strcmp(entry->d_name, file+dirlen)) | 293 | if(!rb->strcmp(entry->d_name, file+dirlen)) |
292 | { | 294 | { |
293 | its_a_dir = entry->attribute & ATTR_DIRECTORY ? true : false; | 295 | struct dirinfo info = rb->dir_get_info(dir, entry); |
296 | its_a_dir = info.attribute & ATTR_DIRECTORY ? true : false; | ||
294 | found = true; | 297 | found = true; |
295 | break; | 298 | break; |
296 | } | 299 | } |
diff --git a/apps/plugins/random_folder_advance_config.c b/apps/plugins/random_folder_advance_config.c index 55d9bf99ab..eca33dc08a 100644 --- a/apps/plugins/random_folder_advance_config.c +++ b/apps/plugins/random_folder_advance_config.c | |||
@@ -98,7 +98,8 @@ void traversedir(char* location, char* name) | |||
98 | 98 | ||
99 | if (check) | 99 | if (check) |
100 | { | 100 | { |
101 | if (entry->attribute & ATTR_DIRECTORY) { | 101 | struct dirinfo info = rb->dir_get_info(dir, entry); |
102 | if (info.attribute & ATTR_DIRECTORY) { | ||
102 | char *start; | 103 | char *start; |
103 | dirs_count++; | 104 | dirs_count++; |
104 | rb->snprintf(path,MAX_PATH,"%s/%s",fullpath,entry->d_name); | 105 | rb->snprintf(path,MAX_PATH,"%s/%s",fullpath,entry->d_name); |
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c index ecf335d3f0..6a70a47ec4 100644 --- a/apps/plugins/stats.c +++ b/apps/plugins/stats.c | |||
@@ -178,7 +178,8 @@ void traversedir(char* location, char* name) | |||
178 | /* Skip .. and . */ | 178 | /* Skip .. and . */ |
179 | if (rb->strcmp(entry->d_name, ".") && rb->strcmp(entry->d_name, "..")) | 179 | if (rb->strcmp(entry->d_name, ".") && rb->strcmp(entry->d_name, "..")) |
180 | { | 180 | { |
181 | if (entry->attribute & ATTR_DIRECTORY) { | 181 | struct dirinfo info = rb->dir_get_info(dir, entry); |
182 | if (info.attribute & ATTR_DIRECTORY) { | ||
182 | traversedir(fullpath, entry->d_name); | 183 | traversedir(fullpath, entry->d_name); |
183 | dirs++; | 184 | dirs++; |
184 | } | 185 | } |
diff --git a/apps/plugins/theme_remove.c b/apps/plugins/theme_remove.c index d679338ff8..674342a920 100644 --- a/apps/plugins/theme_remove.c +++ b/apps/plugins/theme_remove.c | |||
@@ -236,7 +236,8 @@ static int remove_dir(char* dirname, int len) | |||
236 | 236 | ||
237 | /* append name to current directory */ | 237 | /* append name to current directory */ |
238 | rb->snprintf(dirname+dirlen, len-dirlen, "/%s", entry->d_name); | 238 | rb->snprintf(dirname+dirlen, len-dirlen, "/%s", entry->d_name); |
239 | if (entry->attribute & ATTR_DIRECTORY) | 239 | struct dirinfo info = rb->dir_get_info(dir, entry); |
240 | if (info.attribute & ATTR_DIRECTORY) | ||
240 | { | 241 | { |
241 | /* remove a subdirectory */ | 242 | /* remove a subdirectory */ |
242 | if (!rb->strcmp((char *)entry->d_name, ".") || | 243 | if (!rb->strcmp((char *)entry->d_name, ".") || |