From f0337aa4819df5ef097837dc02e9a4746da79467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Sat, 20 May 2017 21:03:04 +0200 Subject: Do away with POSIX --- ell.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'ell.c') diff --git a/ell.c b/ell.c index c73ba9e..68a5427 100755 --- a/ell.c +++ b/ell.c @@ -17,8 +17,6 @@ * */ -#define _XOPEN_SOURCE 500 - #include #include #include @@ -28,7 +26,6 @@ #include #include #include -#include #include #include @@ -53,12 +50,12 @@ vformat (const char *format, va_list ap) { if (size < 0) return NULL; - char buf[size + 1]; - size = vsnprintf (buf, sizeof buf, format, ap); - if (size < 0) + char *buf = malloc (size + 1); + if (buf && vsnprintf (buf, size + 1, format, ap) < 0) { + free (buf); return NULL; - - return strdup (buf); + } + return buf; } static char * @@ -184,10 +181,7 @@ new_clone_list (const struct item *item) { } static struct item * -new_string (const char *s, ssize_t len) { - if (len < 0) - len = strlen (s); - +new_string (const char *s, size_t len) { struct item *item = calloc (1, sizeof *item + len + 1); if (!item) return NULL; -- cgit v1.2.3