summaryrefslogtreecommitdiffstats
path: root/src/pacman/util.c
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2013-01-03 11:49:33 +0100
committerAllan McRae <allan@archlinux.org>2013-01-04 12:49:37 +0100
commit27d9c25ee2fd6a03fb1ec1afdfbe105048875bae (patch)
treec5f6739e5f72a153fb358b2702965c39352ef630 /src/pacman/util.c
parent965e1de2174148a7a6c0860a7514d9bb1969bf03 (diff)
downloadpacman-27d9c25ee2fd6a03fb1ec1afdfbe105048875bae.tar.gz
pacman-27d9c25ee2fd6a03fb1ec1afdfbe105048875bae.tar.xz
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 <allan@archlinux.org>
Diffstat (limited to 'src/pacman/util.c')
-rw-r--r--src/pacman/util.c50
1 files changed, 0 insertions, 50 deletions
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)