From 3697ec5ca140f686643d204a54181a5ddbf9a799 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 15 Jul 2010 23:12:49 +0300 Subject: Moved to gawk 2.11. --- missing.d/vprintf.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 missing.d/vprintf.c (limited to 'missing.d/vprintf.c') diff --git a/missing.d/vprintf.c b/missing.d/vprintf.c new file mode 100644 index 00000000..dea4ca86 --- /dev/null +++ b/missing.d/vprintf.c @@ -0,0 +1,54 @@ +#include +#include + +#ifndef BUFSIZ +#include +#endif + +#ifndef va_dcl +#include +#endif + +int +vsprintf(str, fmt, ap) + char *str, *fmt; + va_list ap; +{ + FILE f; + int len; + + f._flag = _IOWRT+_IOSTRG; + f._ptr = (char *)str; /* My copy of BSD stdio.h has this as (char *) + * with a comment that it should be + * (unsigned char *). Since this code is + * intended for use on a vanilla BSD system, + * we'll stick with (char *) for now. + */ + f._cnt = 32767; + len = _doprnt(fmt, ap, &f); + *f._ptr = 0; + return (len); +} + +int +vfprintf(iop, fmt, ap) + FILE *iop; + char *fmt; + va_list ap; +{ + int len; + + len = _doprnt(fmt, ap, iop); + return (ferror(iop) ? EOF : len); +} + +int +vprintf(fmt, ap) + char *fmt; + va_list ap; +{ + int len; + + len = _doprnt(fmt, ap, stdout); + return (ferror(stdout) ? EOF : len); +} -- cgit v1.2.3