summaryrefslogtreecommitdiff
path: root/libc/stdio2/scanf.c
diff options
context:
space:
mode:
authorRobert de Bath <rdebath@poboxes.com>1997-02-25 20:42:19 +0100
committerLubomir Rintel <lkundrak@v3.sk>2013-10-23 23:38:07 +0200
commit4c36e9a0c125ccfff37aa440dab2cf58c4152fff (patch)
treea5d9c84ba2661029ddb2223dacd50529a361c3d5 /libc/stdio2/scanf.c
parentf8de35da65c5d93bb733073cf40da154bc1c0748 (diff)
parent9696d7b0e1f3a1b0f5fd4a0428eb75afe8ad4ed6 (diff)
downloaddev86-4c36e9a0c125ccfff37aa440dab2cf58c4152fff.tar.gz
Import Dev86src-0.0.11.tar.gzv0.0.11
Diffstat (limited to 'libc/stdio2/scanf.c')
-rw-r--r--libc/stdio2/scanf.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/libc/stdio2/scanf.c b/libc/stdio2/scanf.c
index c43320d..2d61ab2 100644
--- a/libc/stdio2/scanf.c
+++ b/libc/stdio2/scanf.c
@@ -1,19 +1,27 @@
#include <stdio.h>
#include <ctype.h>
-#include <stdarg.h>
#include <string.h>
+#ifdef __STDC__
+#include <stdarg.h>
+#define va_strt va_start
+#else
+#include <varargs.h>
+#define va_strt(p,i) va_start(p)
+#endif
+
#ifdef L_scanf
#ifdef __STDC__
int scanf(const char * fmt, ...)
#else
-int scanf(fmt)
+int scanf(fmt, va_alist)
__const char *fmt;
+va_dcl
#endif
{
va_list ptr;
int rv;
- va_start(ptr, fmt);
+ va_strt(ptr, fmt);
rv = vfscanf(stdin,fmt,ptr);
va_end(ptr);
return rv;
@@ -24,9 +32,10 @@ __const char *fmt;
#ifdef __STDC__
int sscanf(char * sp, const char * fmt, ...)
#else
-int sscanf(sp, fmt)
+int sscanf(sp, fmt, va_alist)
char * sp;
__const char *fmt;
+va_dcl
#endif
{
static FILE string[1] =
@@ -37,7 +46,7 @@ static FILE string[1] =
va_list ptr;
int rv;
- va_start(ptr, fmt);
+ va_strt(ptr, fmt);
string->bufpos = sp;
rv = vfscanf(string,fmt,ptr);
va_end(ptr);
@@ -49,14 +58,15 @@ static FILE string[1] =
#ifdef __STDC__
int fscanf(FILE * fp, const char * fmt, ...)
#else
-int fscanf(fp, fmt)
+int fscanf(fp, fmt, va_alist)
FILE * fp;
__const char *fmt;
+va_dcl
#endif
{
va_list ptr;
int rv;
- va_start(ptr, fmt);
+ va_strt(ptr, fmt);
rv = vfscanf(fp,fmt,ptr);
va_end(ptr);
return rv;