[Initng-svn] r4001 - initng/trunk/src

svn at initng.thinktux.net svn at initng.thinktux.net
Thu May 4 09:43:01 CEST 2006


Author: jimmy
Date: Thu May  4 09:43:00 2006
New Revision: 4001

Modified:
   initng/trunk/src/initng_string_tools.c

Log:
rewrote st_get_path.


Modified: initng/trunk/src/initng_string_tools.c
==============================================================================
--- initng/trunk/src/initng_string_tools.c	(original)
+++ initng/trunk/src/initng_string_tools.c	Thu May  4 09:43:00 2006
@@ -288,21 +288,15 @@
 /* function strips "test/go/th" to "test/go" */
 char *st_get_path(const char *string)
 {
-	int i = 0;
-
+	char * last_slash;
 	assert(string);
-
-	/* go to end */
-	while (string[i] != '\0')
-		i++;
-	/* step back */
-	while (i && string[i] != '/')
-		i--;
-
-	if (i)
-		return (i_strndup(string, i));
-
-	return (i_strdup(string));
+	
+	/* get the last_slash position */
+	if(!(last_slash=strrchr(string, '/')))
+		return(i_strdup(string));
+	
+	/* ok return a copy of that string */
+	return(i_strndup(string, (int) (last_slash - string)));
 }
 
 /* function strips "test/go/th" to "test/go" and then to "test" */


More information about the Initng-svn mailing list