summaryrefslogtreecommitdiff
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
parenteee2c01697f90e3be4d7c1b0c57f6921c78e85b9 (diff)
downloadrockbox-0a488fb155a9728fa09e72cd65ed7632feecaf3b.tar.gz
rockbox-0a488fb155a9728fa09e72cd65ed7632feecaf3b.zip
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
-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 a3ed62e4bc..2ff36e2595 100644
--- a/firmware/drivers/fat.c
+++ b/firmware/drivers/fat.c
@@ -841,7 +841,6 @@ static int add_dir_entry(struct fat_dir* dir,
841 entries_found = entries_needed; 841 entries_found = entries_needed;
842 LDEBUGF("Found last entry %d\n", 842 LDEBUGF("Found last entry %d\n",
843 sector * DIR_ENTRIES_PER_SECTOR + i); 843 sector * DIR_ENTRIES_PER_SECTOR + i);
844 last = true;
845 done = true; 844 done = true;
846 break; 845 break;
847 846
@@ -873,7 +872,9 @@ static int add_dir_entry(struct fat_dir* dir,
873 872
874 /* if we're not extending the dir, 873 /* if we're not extending the dir,
875 we must go back to first free entry */ 874 we must go back to first free entry */
876 if (!last) 875 if (done)
876 last = true;
877 else
877 firstentry -= (entries_needed - 1); 878 firstentry -= (entries_needed - 1);
878 } 879 }
879 } 880 }
@@ -951,6 +952,7 @@ unsigned char char2dos(unsigned char c)
951 case 0xe5: /* Special kanji character */ 952 case 0xe5: /* Special kanji character */
952 c = 0x05; 953 c = 0x05;
953 break; 954 break;
955 case 0x20:
954 case 0x22: 956 case 0x22:
955 case 0x2a: 957 case 0x2a:
956 case 0x2b: 958 case 0x2b: