summaryrefslogtreecommitdiffstats
path: root/firmware/common
diff options
context:
space:
mode:
authorAmaury Pouly <pamaury@rockbox.org>2010-02-17 19:31:07 +0000
committerAmaury Pouly <pamaury@rockbox.org>2010-02-17 19:31:07 +0000
commiteb54ede182dd882f4b0ab592d0a69fbc2bfbec70 (patch)
tree59d87d4a8b47e606d4a16edf8dd218ebca58f346 /firmware/common
parent020322665be42eacbb9c5717054b0f5320ba361b (diff)
downloadrockbox-eb54ede182dd882f4b0ab592d0a69fbc2bfbec70.tar.gz
rockbox-eb54ede182dd882f4b0ab592d0a69fbc2bfbec70.tar.bz2
rockbox-eb54ede182dd882f4b0ab592d0a69fbc2bfbec70.zip
Fix error handling in dircache generation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24730 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/common')
-rw-r--r--firmware/common/dircache.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/common/dircache.c b/firmware/common/dircache.c
index 078836147e..618240f542 100644
--- a/firmware/common/dircache.c
+++ b/firmware/common/dircache.c
@@ -259,10 +259,10 @@ static int sab_process_dir(unsigned long startcluster, struct dircache_entry *ce
/* second pass: recurse ! */
ce = first_ce;
- while(ce)
+ while(rc >= 0 && ce)
{
if(ce->name_len != 0 && ce->down != NULL && strcmp(ce->d_name, ".") && strcmp(ce->d_name, ".."))
- sab_process_dir(ce->startcluster, ce->down);
+ rc = sab_process_dir(ce->startcluster, ce->down);
ce = ce->next;
}