From 480538737a8a9be074a1848f2e52cf2d1ff4709f Mon Sep 17 00:00:00 2001 From: graham.gower Date: Wed, 04 Nov 2009 23:20:09 -0500 Subject: s/malloc/xmalloc/ s/calloc/xcalloc/ s/realloc/realloc/ And redundant error checking removed from the places where allocation failures were actually checked. git-svn-id: http://opkg.googlecode.com/svn/trunk@259 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- (limited to 'libopkg/sprintf_alloc.c') diff --git a/libopkg/sprintf_alloc.c b/libopkg/sprintf_alloc.c index 30ab033..7989493 100644 --- a/libopkg/sprintf_alloc.c +++ b/libopkg/sprintf_alloc.c @@ -19,11 +19,11 @@ #include #include "sprintf_alloc.h" +#include "libbb/libbb.h" int sprintf_alloc(char **str, const char *fmt, ...) { va_list ap; - char *new_str; int n, size = 100; if (!str) { @@ -44,13 +44,11 @@ int sprintf_alloc(char **str, const char *fmt, ...) /* ripped more or less straight out of PRINTF(3) */ - if ((new_str = calloc(1, size)) == NULL) - return -1; + *str = xcalloc(1, size); - *str = new_str; while(1) { va_start(ap, fmt); - n = vsnprintf (new_str, size, fmt, ap); + n = vsnprintf (*str, size, fmt, ap); va_end(ap); /* If that worked, return the size. */ if (n > -1 && n < size) @@ -60,13 +58,7 @@ int sprintf_alloc(char **str, const char *fmt, ...) size = n+1; /* precisely what is needed */ else /* glibc 2.0 */ size *= 2; /* twice the old size */ - new_str = realloc(new_str, size); - if (new_str == NULL) { - free(new_str); - *str = NULL; - return -1; - } - *str = new_str; + *str = xrealloc(*str, size); } return -1; /* Just to be correct - it probably won't get here */ -- cgit v0.9.1