diff options
author | Allan McRae <allan@archlinux.org> | 2013-01-03 11:49:33 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-01-04 12:49:37 +0100 |
commit | 27d9c25ee2fd6a03fb1ec1afdfbe105048875bae (patch) | |
tree | c5f6739e5f72a153fb358b2702965c39352ef630 /lib/libalpm/util.c | |
parent | 965e1de2174148a7a6c0860a7514d9bb1969bf03 (diff) | |
download | pacman-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 'lib/libalpm/util.c')
-rw-r--r-- | lib/libalpm/util.c | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index c33e32a3..f6e66321 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -1256,37 +1256,4 @@ void _alpm_alloc_fail(size_t size) fprintf(stderr, "alloc failure: could not allocate %zd bytes\n", size); } -#ifndef HAVE_STRNDUP -/* A quick and dirty implementation derived from glibc */ -/** Determines the length of a fixed-size string. - * @param s string to be measured - * @param max maximum number of characters to search for the string end - * @return length of s or max, whichever is smaller - */ -static size_t strnlen(const char *s, size_t max) -{ - register const char *p; - for(p = s; *p && max--; ++p); - return (p - s); -} - -/** Copies a string. - * Returned string needs to be freed - * @param s string to be copied - * @param n maximum number of characters to copy - * @return pointer to the new string on success, NULL on error - */ -char *strndup(const char *s, size_t n) -{ - size_t len = strnlen(s, n); - char *new = (char *) malloc(len + 1); - - if(new == NULL) - return NULL; - - new[len] = '\0'; - return (char *)memcpy(new, s, len); -} -#endif - /* vim: set ts=2 sw=2 noet: */ |