summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/asprintf.c
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2002-08-13 09:30:41 +0000
committertjr <tjr@FreeBSD.org>2002-08-13 09:30:41 +0000
commit294097ed71af31961af5ded01883a93b24152d52 (patch)
treeb19b15290ce2e0d3c58bac59a2bcb0295e1af757 /lib/libc/stdio/asprintf.c
parent7c34d7b587ec98f831771925fdf5ef8569a2139a (diff)
downloadFreeBSD-src-294097ed71af31961af5ded01883a93b24152d52.zip
FreeBSD-src-294097ed71af31961af5ded01883a93b24152d52.tar.gz
Basic support for wide character I/O: getwc(), fgetwc(), getwchar(),
putwc(), fputwc(), putwchar(), ungetwc(), fwide().
Diffstat (limited to 'lib/libc/stdio/asprintf.c')
-rw-r--r--lib/libc/stdio/asprintf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libc/stdio/asprintf.c b/lib/libc/stdio/asprintf.c
index 57116e6..1eddf57 100644
--- a/lib/libc/stdio/asprintf.c
+++ b/lib/libc/stdio/asprintf.c
@@ -43,6 +43,7 @@ asprintf(char **str, char const *fmt, ...)
int ret;
va_list ap;
FILE f;
+ struct __sFILEX ext;
va_start(ap, fmt);
f._file = -1;
@@ -54,6 +55,8 @@ asprintf(char **str, char const *fmt, ...)
return (-1);
}
f._bf._size = f._w = 127; /* Leave room for the NULL */
+ f._extra = &ext;
+ INITEXTRA(&f);
ret = __vfprintf(&f, fmt, ap); /* Use unlocked __vfprintf */
*f._p = '\0';
va_end(ap);
OpenPOWER on IntegriCloud