disktidy: store the number of removed files as global scope

no need to transmit it through function arguments, remove a warning on
charcell as a side effect

also, snprintf+splash -> splashf

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27930 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rafaël Carré 2010-08-28 22:01:44 +00:00
parent 502997c042
commit e02e1db528

View file

@ -22,6 +22,7 @@
#include "errno.h" #include "errno.h"
static int removed = 0; /* number of items removed */
/* function return values */ /* function return values */
enum tidy_return enum tidy_return
@ -158,14 +159,14 @@ bool tidy_remove_item(char *item, int attr)
return ret; return ret;
} }
void tidy_lcd_status(const char *name, int *removed) void tidy_lcd_status(const char *name)
{ {
/* display status text */ /* display status text */
rb->lcd_clear_display(); rb->lcd_clear_display();
rb->lcd_puts(0, 0, "Working ..."); rb->lcd_puts(0, 0, "Working ...");
rb->lcd_puts(0, 1, name); rb->lcd_puts(0, 1, name);
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
rb->lcd_putsf(0, 2, "Cleaned up %d items", *removed); rb->lcd_putsf(0, 2, "Cleaned up %d items", removed);
#endif #endif
rb->lcd_update(); rb->lcd_update();
} }
@ -202,7 +203,7 @@ void tidy_path_remove_entry(char *path, int old_path_length, int *path_length)
} }
/* path is assumed to be array of size MAX_PATH */ /* path is assumed to be array of size MAX_PATH */
enum tidy_return tidy_removedir(char *path, int *path_length, int *removed) enum tidy_return tidy_removedir(char *path, int *path_length)
{ {
/* delete directory */ /* delete directory */
struct dirent *entry; struct dirent *entry;
@ -212,7 +213,7 @@ enum tidy_return tidy_removedir(char *path, int *path_length, int *removed)
int old_path_length = *path_length; int old_path_length = *path_length;
/* display status text */ /* display status text */
tidy_lcd_status(path, removed); tidy_lcd_status(path);
rb->yield(); rb->yield();
@ -249,13 +250,13 @@ enum tidy_return tidy_removedir(char *path, int *path_length, int *removed)
if ((rb->strcmp(entry->d_name, ".") != 0) && \ if ((rb->strcmp(entry->d_name, ".") != 0) && \
(rb->strcmp(entry->d_name, "..") != 0)) (rb->strcmp(entry->d_name, "..") != 0))
{ {
tidy_removedir(path, path_length, removed); tidy_removedir(path, path_length);
} }
} }
else else
{ {
/* file */ /* file */
*removed += 1; removed++;
rb->remove(path); rb->remove(path);
} }
@ -264,7 +265,7 @@ enum tidy_return tidy_removedir(char *path, int *path_length, int *removed)
} }
rb->closedir(dir); rb->closedir(dir);
/* rmdir */ /* rmdir */
*removed += 1; removed++;
rb->rmdir(path); rb->rmdir(path);
} }
else else
@ -275,7 +276,7 @@ enum tidy_return tidy_removedir(char *path, int *path_length, int *removed)
} }
/* path is assumed to be array of size MAX_PATH */ /* path is assumed to be array of size MAX_PATH */
enum tidy_return tidy_clean(char *path, int *path_length, int *removed) enum tidy_return tidy_clean(char *path, int *path_length)
{ {
/* deletes junk files and dirs left by system */ /* deletes junk files and dirs left by system */
struct dirent *entry; struct dirent *entry;
@ -286,7 +287,7 @@ enum tidy_return tidy_clean(char *path, int *path_length, int *removed)
int old_path_length = *path_length; int old_path_length = *path_length;
/* display status text */ /* display status text */
tidy_lcd_status(path, removed); tidy_lcd_status(path);
rb->yield(); rb->yield();
@ -328,14 +329,14 @@ enum tidy_return tidy_clean(char *path, int *path_length, int *removed)
if (tidy_remove_item(entry->d_name, entry->attribute)) if (tidy_remove_item(entry->d_name, entry->attribute))
{ {
/* delete dir */ /* delete dir */
tidy_removedir(path, path_length, removed); tidy_removedir(path, path_length);
del = 1; del = 1;
} }
if (del == 0) if (del == 0)
{ {
/* dir not deleted so clean it */ /* dir not deleted so clean it */
status = tidy_clean(path, path_length, removed); status = tidy_clean(path, path_length);
} }
/* restore path */ /* restore path */
@ -354,7 +355,7 @@ enum tidy_return tidy_clean(char *path, int *path_length, int *removed)
/* silent error */ /* silent error */
continue; continue;
*removed += 1; /* increment removed files counter */ removed++; /* increment removed files counter */
/* delete file */ /* delete file */
rb->remove(path); rb->remove(path);
del = 1; del = 1;
@ -376,9 +377,7 @@ enum tidy_return tidy_clean(char *path, int *path_length, int *removed)
enum tidy_return tidy_do(void) enum tidy_return tidy_do(void)
{ {
/* clean disk and display num of items removed */ /* clean disk and display num of items removed */
int removed = 0;
enum tidy_return status; enum tidy_return status;
char text[24]; /* "Cleaned up nnnnn items" */
char path[MAX_PATH]; char path[MAX_PATH];
int path_length; int path_length;
@ -388,7 +387,7 @@ enum tidy_return tidy_do(void)
rb->strcpy(path, "/"); rb->strcpy(path, "/");
path_length = rb->strlen(path); path_length = rb->strlen(path);
status = tidy_clean(path, &path_length, &removed); status = tidy_clean(path, &path_length);
#ifdef HAVE_ADJUSTABLE_CPU_FREQ #ifdef HAVE_ADJUSTABLE_CPU_FREQ
rb->cpu_boost(false); rb->cpu_boost(false);
@ -397,13 +396,12 @@ enum tidy_return tidy_do(void)
if ((status == TIDY_RETURN_OK) || (status == TIDY_RETURN_ABORT)) if ((status == TIDY_RETURN_OK) || (status == TIDY_RETURN_ABORT))
{ {
rb->lcd_clear_display(); rb->lcd_clear_display();
rb->snprintf(text, 24, "Cleaned up %d items", removed);
if (status == TIDY_RETURN_ABORT) if (status == TIDY_RETURN_ABORT)
{ {
rb->splash(HZ, "User aborted"); rb->splash(HZ, "User aborted");
rb->lcd_clear_display(); rb->lcd_clear_display();
} }
rb->splash(HZ*2, text); rb->splashf(HZ*2, "Cleaned up %d items", removed);
} }
return status; return status;
} }