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 --- lib/libalpm/util.c | 33 --------------------------------- 1 file changed, 33 deletions(-) (limited to 'lib/libalpm/util.c') 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: */ -- cgit v1.2.3-24-g4f1b