On 27/02/15 08:04, Will Miles wrote:
> This small refactor reduces the number of replications of the local
> imeplementation of strndup.
> 

Typo ^

Fixed and pulled to my patchqueue.

> Signed-off-by: Will Miles <wmi...@sgl.com>
> ---
>  src/util/Makefile.am   |  4 ++--
>  src/util/pacsort.c     | 23 +----------------------
>  src/util/pactree.c     | 24 ++----------------------
>  src/util/util-common.c |  1 +
>  src/util/util-common.h |  1 +
>  5 files changed, 7 insertions(+), 46 deletions(-)
>  create mode 120000 src/util/util-common.c
>  create mode 120000 src/util/util-common.h
> 
> diff --git a/src/util/Makefile.am b/src/util/Makefile.am
> index 25c025b..936d7ff 100644
> --- a/src/util/Makefile.am
> +++ b/src/util/Makefile.am
> @@ -20,10 +20,10 @@ AM_CFLAGS = -pedantic -D_GNU_SOURCE $(WARNING_CFLAGS)
>  cleanupdelta_SOURCES = cleanupdelta.c
>  cleanupdelta_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
>  
> -pacsort_SOURCES = pacsort.c
> +pacsort_SOURCES = pacsort.c util-common.c
>  pacsort_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
>  
> -pactree_SOURCES = pactree.c
> +pactree_SOURCES = pactree.c util-common.c
>  pactree_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
>  
>  testpkg_SOURCES = testpkg.c
> diff --git a/src/util/pacsort.c b/src/util/pacsort.c
> index 02b9084..7081f5a 100644
> --- a/src/util/pacsort.c
> +++ b/src/util/pacsort.c
> @@ -25,6 +25,7 @@
>  #include <string.h>
>  
>  #include <alpm.h>
> +#include "util-common.h"
>  
>  #define DELIM ' '
>  
> @@ -69,28 +70,6 @@ static struct options_t {
>       char delim;
>  } opts;
>  
> -#ifndef HAVE_STRNDUP
> -/* A quick and dirty implementation derived from glibc */
> -static size_t strnlen(const char *s, size_t max)
> -{
> -     register const char *p;
> -     for(p = s; *p && max--; ++p);
> -     return (p - s);
> -}
> -
> -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
> -
>  static struct buffer_t *buffer_new(size_t initial_size)
>  {
>       struct buffer_t *buf;
> diff --git a/src/util/pactree.c b/src/util/pactree.c
> index 67f456f..11ad7ca 100644
> --- a/src/util/pactree.c
> +++ b/src/util/pactree.c
> @@ -29,6 +29,8 @@
>  #include <langinfo.h>
>  #endif
>  
> +#include "util-common.h"
> +
>  #define LINE_MAX     512
>  
>  typedef struct tdepth {
> @@ -121,28 +123,6 @@ int searchsyncs = 0;
>  const char *dbpath = DBPATH;
>  const char *configfile = CONFFILE;
>  
> -#ifndef HAVE_STRNDUP
> -/* A quick and dirty implementation derived from glibc */
> -static size_t strnlen(const char *s, size_t max)
> -{
> -     register const char *p;
> -     for(p = s; *p && max--; ++p);
> -     return (p - s);
> -}
> -
> -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
> -
>  static size_t strtrim(char *str)
>  {
>       char *end, *pch = str;
> diff --git a/src/util/util-common.c b/src/util/util-common.c
> new file mode 120000
> index 0000000..a2f6c50
> --- /dev/null
> +++ b/src/util/util-common.c
> @@ -0,0 +1 @@
> +../common/util-common.c
> \ No newline at end of file
> diff --git a/src/util/util-common.h b/src/util/util-common.h
> new file mode 120000
> index 0000000..3f0b982
> --- /dev/null
> +++ b/src/util/util-common.h
> @@ -0,0 +1 @@
> +../common/util-common.h
> \ No newline at end of file
> 

Reply via email to