summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-11-18 14:55:05 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-11-18 14:55:05 +0000
commit0a488fb155a9728fa09e72cd65ed7632feecaf3b (patch)
treebdc5997b56ce17950a72ba85f47c4c8fbd326c3a /firmware
parenteee2c01697f90e3be4d7c1b0c57f6921c78e85b9 (diff)
downloadrockbox-0a488fb155a9728fa09e72cd65ed7632feecaf3b.zip
rockbox-0a488fb155a9728fa09e72cd65ed7632feecaf3b.tar.gz
rockbox-0a488fb155a9728fa09e72cd65ed7632feecaf3b.tar.bz2
rockbox-0a488fb155a9728fa09e72cd65ed7632feecaf3b.tar.xz
Bug fixes: 1) add_dir_entry() would update end-of-dir marker even when not supposed to. 2) create_dos_name() didn't treat spaces correctly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2854 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/fat.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c
index a3ed62e..2ff36e2 100644
--- a/firmware/drivers/fat.c
+++ b/firmware/drivers/fat.c
@@ -841,7 +841,6 @@ static int add_dir_entry(struct fat_dir* dir,
entries_found = entries_needed;
LDEBUGF("Found last entry %d\n",
sector * DIR_ENTRIES_PER_SECTOR + i);
- last = true;
done = true;
break;
@@ -873,7 +872,9 @@ static int add_dir_entry(struct fat_dir* dir,
/* if we're not extending the dir,
we must go back to first free entry */
- if (!last)
+ if (done)
+ last = true;
+ else
firstentry -= (entries_needed - 1);
}
}
@@ -951,6 +952,7 @@ unsigned char char2dos(unsigned char c)
case 0xe5: /* Special kanji character */
c = 0x05;
break;
+ case 0x20:
case 0x22:
case 0x2a:
case 0x2b: