fix path_get_extension, fixes #1368

This commit is contained in:
IntelOrca 2015-06-19 11:40:18 +01:00
parent 3140042b1d
commit 78a6e60083
2 changed files with 20 additions and 8 deletions

View File

@ -58,24 +58,36 @@ const char *path_get_filename(const char *path)
const char *path_get_extension(const char *path)
{
const char *extension = NULL;
const char *ch = path;
while (*ch != '.' && *ch != 0) {
while (*ch != 0) {
if (*ch == '.')
extension = ch;
ch++;
}
return ch;
if (extension == NULL)
extension = ch;
return extension;
}
void path_set_extension(char *path, const char *extension)
void path_set_extension(char *path, const char *newExtension)
{
char *extension = NULL;
char *ch = path;
while (*ch != '.' && *ch != 0) {
while (*ch != 0) {
if (*ch == '.')
extension = ch;
ch++;
}
if (extension == NULL)
extension = ch;
if (extension[0] != '.')
*ch++ = '.';
if (newExtension[0] != '.')
*extension++ = '.';
strcpy(ch, extension);
strcpy(extension, newExtension);
}
void path_remove_extension(char *path)

View File

@ -29,7 +29,7 @@ int mph_to_kmph(int mph);
const char *path_get_filename(const char *path);
const char *path_get_extension(const char *path);
void path_set_extension(char *path, const char *extension);
void path_set_extension(char *path, const char *newExtension);
void path_remove_extension(char *path);
long fsize(FILE *fp);
bool readentirefile(const char *path, void **outBuffer, long *outLength);