mirror of
https://codeberg.org/1414codeforge/ubgpsuite.git
synced 2025-02-16 11:40:55 +01:00
[lonetix/fs] Make path extension functions more reliable
This commit is contained in:
parent
7be90e6e87
commit
c195ecd8d7
@ -17,9 +17,8 @@ char *Sys_GetAbsoluteFileExtension(const char *path)
|
|||||||
char *p = (char *) path;
|
char *p = (char *) path;
|
||||||
char *sep = p, *extp = p;
|
char *sep = p, *extp = p;
|
||||||
|
|
||||||
// FIXME make it more reliable
|
|
||||||
while (*p != '\0') {
|
while (*p != '\0') {
|
||||||
if (*p == '.' && extp == sep)
|
if (*p == '.' && extp == sep && p > sep + 1)
|
||||||
extp = p;
|
extp = p;
|
||||||
if (IsSep(*p))
|
if (IsSep(*p))
|
||||||
extp = sep = p;
|
extp = sep = p;
|
||||||
@ -27,7 +26,7 @@ char *Sys_GetAbsoluteFileExtension(const char *path)
|
|||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (extp == sep)
|
if (extp == sep || *(extp+1) == '\0')
|
||||||
extp = p; // no extensions in path
|
extp = p; // no extensions in path
|
||||||
|
|
||||||
return extp;
|
return extp;
|
||||||
@ -38,9 +37,8 @@ char *Sys_GetFileExtension(const char *path)
|
|||||||
char *p = (char *) path;
|
char *p = (char *) path;
|
||||||
char *sep = p, *extp = p;
|
char *sep = p, *extp = p;
|
||||||
|
|
||||||
// FIXME make it more reliable
|
|
||||||
while (*p != '\0') {
|
while (*p != '\0') {
|
||||||
if (*p == '.')
|
if (*p == '.' && p > sep + 1)
|
||||||
extp = p;
|
extp = p;
|
||||||
if (IsSep(*p))
|
if (IsSep(*p))
|
||||||
sep = extp = p;
|
sep = extp = p;
|
||||||
@ -48,7 +46,7 @@ char *Sys_GetFileExtension(const char *path)
|
|||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (extp == sep)
|
if (extp == sep || *(extp+1) == '\0')
|
||||||
extp = p; // no extensions in path
|
extp = p; // no extensions in path
|
||||||
|
|
||||||
return extp;
|
return extp;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user