summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libugly/asprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/libugly/asprintf.c')
-rw-r--r--mdk-stage1/dietlibc/libugly/asprintf.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/mdk-stage1/dietlibc/libugly/asprintf.c b/mdk-stage1/dietlibc/libugly/asprintf.c
index d10c20b4a..9db1f67c7 100644
--- a/mdk-stage1/dietlibc/libugly/asprintf.c
+++ b/mdk-stage1/dietlibc/libugly/asprintf.c
@@ -1,21 +1,18 @@
#include <stdarg.h>
-#include <linux/types.h>
+#include <sys/types.h>
#include <stdlib.h>
+#include <stdio.h>
#include "dietwarning.h"
-extern int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
int asprintf(char **s, const char *format,...)
{
int n;
va_list arg_ptr;
va_start(arg_ptr, format);
n=vsnprintf(0,1000000,format,arg_ptr);
- va_end (arg_ptr);
va_start (arg_ptr, format);
- if ((*s=malloc(n+2))) {
+ if ((*s=malloc(n+1))) {
n=vsnprintf(*s,n+1,format,arg_ptr);
- va_end(arg_ptr);
return n;
}
return -1;