Reworked FS_CanonicalFilename

This commit is contained in:
smallmodel 2024-01-28 20:41:17 +01:00
parent 3f8aeac7e6
commit 7518d7b418
No known key found for this signature in database
GPG key ID: 9F2D623CEDF08512

View file

@ -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) {