Mercurial > geeqie
changeset 544:8de7cdde59dd
Simplify remove_extension_from_path().
author | zas_ |
---|---|
date | Fri, 02 May 2008 20:40:47 +0000 |
parents | b68fd1eb3243 |
children | e421326e8b43 |
files | src/ui_fileops.c |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ui_fileops.c Fri May 02 20:27:47 2008 +0000 +++ b/src/ui_fileops.c Fri May 02 20:40:47 2008 +0000 @@ -765,18 +765,18 @@ gchar *remove_extension_from_path(const gchar *path) { - gchar *new_path; - const gchar *ptr = path; - gint p; + gint p = 0, n = -1; if (!path) return NULL; - if (strlen(path) < 2) return g_strdup(path); - p = strlen(path) - 1; - while (ptr[p] != '.' && p > 0) p--; - if (p == 0) p = strlen(path) - 1; - new_path = g_strndup(path, (guint)p); - return new_path; + while (path[p]) + { + if (path[p] == '.') n = p; + p++; + } + if (n < 0) n = p; + + return g_strndup(path, (gsize) n); } void parse_out_relatives(gchar *path)