diff src/ui_fileops.c @ 544:8de7cdde59dd

Simplify remove_extension_from_path().
author zas_
date Fri, 02 May 2008 20:40:47 +0000
parents b68fd1eb3243
children e421326e8b43
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)