From: Ruben Kerkhof Date: Tue, 1 Mar 2016 13:02:33 +0000 (+0100) Subject: write_sensu: remove custom asprintf implementation X-Git-Tag: collectd-5.5.2~44 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=f6b065e5dc862010ee54f14c68ce75d695fdfcbd;p=collectd.git write_sensu: remove custom asprintf implementation This was guarded by HAVE_ASPRINTF, but we never had a configure check for asprintf (or vasprintf). This only turned up when I made the function static, since they now clash with the prototypes in stdio.h on FreeBSD. As far as I know all the platforms we build on have these functions. If this turns out to be not the case, we can always add compat functions to our utilies later. For now, this fixes the build on FreeBSD. --- diff --git a/src/write_sensu.c b/src/write_sensu.c index 29e7a402..be653995 100644 --- a/src/write_sensu.c +++ b/src/write_sensu.c @@ -38,53 +38,6 @@ #include #include -#ifndef HAVE_ASPRINTF -/* - * Uses asprintf() portable implementation from - * https://github.com/littlstar/asprintf.c/blob/master/ - * copyright (c) 2014 joseph werle under MIT license. - */ -#include -#include - -static int vasprintf(char **str, const char *fmt, va_list args) { - int size = 0; - va_list tmpa; - // copy - va_copy(tmpa, args); - // apply variadic arguments to - // sprintf with format to get size - size = vsnprintf(NULL, size, fmt, tmpa); - // toss args - va_end(tmpa); - // return -1 to be compliant if - // size is less than 0 - if (size < 0) { return -1; } - // alloc with size plus 1 for `\0' - *str = (char *) malloc(size + 1); - // return -1 to be compliant - // if pointer is `NULL' - if (NULL == *str) { return -1; } - // format string with original - // variadic arguments and set new size - size = vsprintf(*str, fmt, args); - return size; -} - -static int asprintf(char **str, const char *fmt, ...) { - int size = 0; - va_list args; - // init variadic argumens - va_start(args, fmt); - // format and get size - size = vasprintf(str, fmt, args); - // toss args - va_end(args); - return size; -} - -#endif - #define SENSU_HOST "localhost" #define SENSU_PORT "3030"