mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 21:57:57 +03:00
Reworked FS_CanonicalFilename
This commit is contained in:
parent
3f8aeac7e6
commit
7518d7b418
1 changed files with 31 additions and 13 deletions
|
@ -4374,23 +4374,41 @@ FS_CanonicalFilename
|
|||
*/
|
||||
void FS_CanonicalFilename(char* filename)
|
||||
{
|
||||
char* p = filename;
|
||||
char* source;
|
||||
char* dest;
|
||||
|
||||
while (*p)
|
||||
dest = filename;
|
||||
|
||||
for(source = filename; *source; source++)
|
||||
{
|
||||
if (p[0] == '/' && p[1] == '/')
|
||||
{
|
||||
char* p2 = p + 1;
|
||||
switch (*source) {
|
||||
case '\t':
|
||||
case ' ':
|
||||
break;
|
||||
case '\n':
|
||||
case '\r':
|
||||
*filename = 0;
|
||||
break;
|
||||
case '/':
|
||||
case '\\':
|
||||
if (dest == filename) {
|
||||
*filename = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
while (*p2)
|
||||
{
|
||||
p2[0] = p2[1];
|
||||
p2++;
|
||||
}
|
||||
}
|
||||
|
||||
p++;
|
||||
if (*(dest - 1) != '/') {
|
||||
*dest = '/';
|
||||
dest++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
*dest = tolower(*source);
|
||||
dest++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = 0;
|
||||
}
|
||||
|
||||
void FS_FileTime(const char* filename, char* date, char* size) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue