3.7 branch: backport r28418 (disktidy: handles user abort properly)

git-svn-id: svn://svn.rockbox.org/rockbox/branches/v3_7@28651 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Frank Gevaerts 2010-11-23 21:14:23 +00:00
parent 49dabd5da8
commit 0743f21d57

View file

@ -244,7 +244,6 @@ enum tidy_return tidy_removedir(char *path, int *path_length)
/* silent error */
continue;
struct dirinfo info = rb->dir_get_info(dir, entry);
if (info.attribute & ATTR_DIRECTORY)
{
@ -252,7 +251,7 @@ enum tidy_return tidy_removedir(char *path, int *path_length)
if ((rb->strcmp(entry->d_name, ".") != 0) && \
(rb->strcmp(entry->d_name, "..") != 0))
{
tidy_removedir(path, path_length);
status = tidy_removedir(path, path_length);
}
}
else
@ -261,7 +260,7 @@ enum tidy_return tidy_removedir(char *path, int *path_length)
removed++;
rb->remove(path);
}
/* restore path */
tidy_path_remove_entry(path, old_path_length, path_length);
}
@ -284,7 +283,6 @@ enum tidy_return tidy_clean(char *path, int *path_length)
struct dirent *entry;
enum tidy_return status = TIDY_RETURN_OK;
int button;
int del; /* has the item been deleted */
DIR *dir;
int old_path_length = *path_length;
@ -321,8 +319,6 @@ enum tidy_return tidy_clean(char *path, int *path_length)
if ((rb->strcmp(entry->d_name, ".") != 0) && \
(rb->strcmp(entry->d_name, "..") != 0))
{
del = 0;
/* get absolute path */
/* returns an error if path is too long */
if(!tidy_path_append_entry(path, entry, path_length))
@ -332,11 +328,9 @@ enum tidy_return tidy_clean(char *path, int *path_length)
if (tidy_remove_item(entry->d_name, info.attribute))
{
/* delete dir */
tidy_removedir(path, path_length);
del = 1;
status = tidy_removedir(path, path_length);
}
if (del == 0)
else
{
/* dir not deleted so clean it */
status = tidy_clean(path, path_length);
@ -349,7 +343,6 @@ enum tidy_return tidy_clean(char *path, int *path_length)
else
{
/* file */
del = 0;
if (tidy_remove_item(entry->d_name, info.attribute))
{
/* get absolute path */
@ -361,8 +354,7 @@ enum tidy_return tidy_clean(char *path, int *path_length)
removed++; /* increment removed files counter */
/* delete file */
rb->remove(path);
del = 1;
/* restore path */
tidy_path_remove_entry(path, old_path_length, path_length);
}