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.tar.gz
rockbox-f213afacbe7122606e42ec40d7f4648964b5887c.zip
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 b3da25cc4d..65c6a3152e 100644
--- a/firmware/drivers/fat.c
+++ b/firmware/drivers/fat.c
@@ -1432,7 +1432,7 @@ unsigned char char2dos(unsigned char c)
1432 case 0xe5: /* Special kanji character */ 1432 case 0xe5: /* Special kanji character */
1433 c = 0x05; 1433 c = 0x05;
1434 break; 1434 break;
1435 case 0x20: 1435
1436 case 0x22: 1436 case 0x22:
1437 case 0x2a: 1437 case 0x2a:
1438 case 0x2b: 1438 case 0x2b:
@@ -1448,14 +1448,14 @@ unsigned char char2dos(unsigned char c)
1448 case 0x5c: 1448 case 0x5c:
1449 case 0x5d: 1449 case 0x5d:
1450 case 0x7c: 1450 case 0x7c:
1451 /* Illegal name */ 1451 /* Illegal name, replace */
1452 c = 0; 1452 c = '_';
1453 break; 1453 break;
1454 1454
1455 default: 1455 default:
1456 if(c < 0x20) 1456 if(c <= 0x20)
1457 { 1457 {
1458 /* Illegal name */ 1458 /* Illegal name, remove */
1459 c = 0; 1459 c = 0;
1460 } 1460 }
1461 break; 1461 break;