这个现象是正常情况,目前版本T卡重命名规范完全参照Windows规范采用短文件名,而短文件名是不区分大小写的。输入字符中一旦有大写字符,就会全部转换为大写,这个是参照规范做到预期的设计,不是bug。
重命名T卡的流程是:
fmgr_main_rename_drive_done -> FS_SetVolumeLabel -> RTFSetVolumeLabel -> GenerateVolumeLable.. 在generateVolumeLable会将小写改为大写。
GenerateVolumeLable()
调用
c = fs_util_get_short_char(pN[0]);
调用
c = fs_util_toupper(c);
fs_util_toupper()的具体实现:
char fs_util_toupper(signed char c)
{
if ( (c >= 'a') && (c <= 'z') )
return c - ('a' - 'A');
return c;
}
重命名T卡的流程是:
fmgr_main_rename_drive_done -> FS_SetVolumeLabel -> RTFSetVolumeLabel -> GenerateVolumeLable.. 在generateVolumeLable会将小写改为大写。
GenerateVolumeLable()
调用
c = fs_util_get_short_char(pN[0]);
调用
c = fs_util_toupper(c);
fs_util_toupper()的具体实现:
char fs_util_toupper(signed char c)
{
if ( (c >= 'a') && (c <= 'z') )
return c - ('a' - 'A');
return c;
}