summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-02-16 21:56:20 +0000
committerJens Arnold <amiconn@rockbox.org>2005-02-16 21:56:20 +0000
commitf213afacbe7122606e42ec40d7f4648964b5887c (patch)
tree92c6c2de4a5d19590978920dfe263279f92e30f3
parent3eb45f93136719ba68189413bb1aae37a702fff8 (diff)
downloadrockbox-f213afacbe7122606e42ec40d7f4648964b5887c.zip
rockbox-f213afacbe7122606e42ec40d7f4648964b5887c.tar.gz
rockbox-f213afacbe7122606e42ec40d7f4648964b5887c.tar.bz2
rockbox-f213afacbe7122606e42ec40d7f4648964b5887c.tar.xz
For shortname creation, replace most illegal characters by underscores instead of removing them, thereby lowering the chance to create a blank (illegal) name. Spaces and control chars are still removed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5991 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/fat.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c
index b3da25c..65c6a31 100644
--- a/firmware/drivers/fat.c
+++ b/firmware/drivers/fat.c
@@ -1432,7 +1432,7 @@ unsigned char char2dos(unsigned char c)
case 0xe5: /* Special kanji character */
c = 0x05;
break;
- case 0x20:
+
case 0x22:
case 0x2a:
case 0x2b:
@@ -1448,14 +1448,14 @@ unsigned char char2dos(unsigned char c)
case 0x5c:
case 0x5d:
case 0x7c:
- /* Illegal name */
- c = 0;
+ /* Illegal name, replace */
+ c = '_';
break;
default:
- if(c < 0x20)
+ if(c <= 0x20)
{
- /* Illegal name */
+ /* Illegal name, remove */
c = 0;
}
break;