From 27d9c25ee2fd6a03fb1ec1afdfbe105048875bae Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Thu, 3 Jan 2013 20:49:33 +1000 Subject: Split common utility functions for libalpm and pacman There is duplicated code in the util.c files in the libalpm and pacman source code. Split this into a separate file so that it can be shared via a symlink. This prevents code divergence between the two code bases. Also, move mbasename and mdirname from pacman/util.c into util-common.c in preparation for the following patch that uses them to add an extension to pacsave files. Signed-off-by: Allan McRae --- src/pacman/util.c | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) (limited to 'src/pacman/util.c') diff --git a/src/pacman/util.c b/src/pacman/util.c index 81eec67d..014be1fc 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -210,56 +210,6 @@ int rmrf(const char *path) } } -/** Parse the basename of a program from a path. -* @param path path to parse basename from -* -* @return everything following the final '/' -*/ -const char *mbasename(const char *path) -{ - const char *last = strrchr(path, '/'); - if(last) { - return last + 1; - } - return path; -} - -/** Parse the dirname of a program from a path. -* The path returned should be freed. -* @param path path to parse dirname from -* -* @return everything preceding the final '/' -*/ -char *mdirname(const char *path) -{ - char *ret, *last; - - /* null or empty path */ - if(path == NULL || path == '\0') { - return strdup("."); - } - - if((ret = strdup(path)) == NULL) { - return NULL; - } - - last = strrchr(ret, '/'); - - if(last != NULL) { - /* we found a '/', so terminate our string */ - if(last == ret) { - /* return "/" for root */ - last++; - } - *last = '\0'; - return ret; - } - - /* no slash found */ - free(ret); - return strdup("."); -} - /* output a string, but wrap words properly with a specified indentation */ void indentprint(const char *str, unsigned short indent, unsigned short cols) -- cgit v1.2.3