diff options
| author | Amaury Pouly <pamaury@rockbox.org> | 2010-02-17 19:31:07 +0000 |
|---|---|---|
| committer | Amaury Pouly <pamaury@rockbox.org> | 2010-02-17 19:31:07 +0000 |
| commit | eb54ede182dd882f4b0ab592d0a69fbc2bfbec70 (patch) | |
| tree | 59d87d4a8b47e606d4a16edf8dd218ebca58f346 /firmware | |
| parent | 020322665be42eacbb9c5717054b0f5320ba361b (diff) | |
| download | rockbox-eb54ede182dd882f4b0ab592d0a69fbc2bfbec70.zip rockbox-eb54ede182dd882f4b0ab592d0a69fbc2bfbec70.tar.gz rockbox-eb54ede182dd882f4b0ab592d0a69fbc2bfbec70.tar.bz2 rockbox-eb54ede182dd882f4b0ab592d0a69fbc2bfbec70.tar.xz | |
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')
| -rw-r--r-- | firmware/common/dircache.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/common/dircache.c b/firmware/common/dircache.c index 0788361..618240f 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; } |