changed crtdll to use msvcrt's stdio/scanf.c

svn path=/trunk/; revision=5144
This commit is contained in:
Royce Mitchell III 2003-07-16 22:09:07 +00:00
parent 0d2df900ab
commit 496acc2853
3 changed files with 3 additions and 77 deletions

View file

@ -4,6 +4,7 @@
* new private support functions _lasttoken and _wlasttoken to support
strtok and wcstok respectively.
* fixed lib/msvcrt/stdio/vfscanf.c to remove unnecessary globals.
* changed crtdll to use msvcrt's stdio/scanf.c
2003-07-16 Royce Mitchell III <royce3@ev1.net>

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.58 2003/07/16 21:54:22 royce Exp $
# $Id: makefile,v 1.59 2003/07/16 22:09:07 royce Exp $
PATH_TO_TOP = ../..
@ -339,7 +339,7 @@ STDIO_OBJECTS = \
$(PATH_TO_MSVCRT)/stdio/rename.o \
$(PATH_TO_MSVCRT)/stdio/rewind.o \
$(PATH_TO_MSVCRT)/stdio/rmtmp.o \
stdio/scanf.o \
$(PATH_TO_MSVCRT)/stdio/scanf.o \
$(PATH_TO_MSVCRT)/stdio/setbuf.o \
stdio/setbuffe.o \
stdio/setlineb.o \

View file

@ -1,75 +0,0 @@
/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <msvcrt/stdio.h>
#include <msvcrt/wchar.h>
#include <msvcrt/alloc.h>
/* The function `vscanf' is not defined in ISO C. Therefore we must
use the protected form here. In stdio it is called `__vscanf' and
in libio `_IO_vscanf'. */
#ifdef USE_IN_LIBIO
# include <libioP.h>
# define VSCANF _IO_vscanf
#else
# define VSCANF __vscanf
#endif
int __vscanf (const char *format, va_list arg);
/* Read formatted input from stdin according to the format string FORMAT. */
/* VARARGS1 */
/*
* @implemented
*/
int scanf (const char *format, ...)
{
va_list arg;
int done;
va_start (arg, format);
done = VSCANF (format, arg);
va_end (arg);
return done;
}
/*
* @implemented
*/
int
wscanf(const wchar_t *fmt, ...)
{
va_list arg;
int done;
char *f;
int i, len = wcslen(fmt);
f = malloc(len+1);
for(i=0;i<len;i++)
f[i] = fmt[i];
f[i] = 0;
va_start (arg, fmt);
done = VSCANF (f, arg);
va_end (arg);
free(f);
return done;
}