Fri Jan 17 14:16:28 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>

* stdio/vdprintf.c: Moved file to ...
	* sysdeps/posix/vdprintf.c: Here.  De-ansideclificate.
	* sysdeps/stub/vdprintf.c: New file.
	* sysdeps/mach/hurd/vdprintf.c: New file.
This commit is contained in:
Thomas Bushnell, BSG 1997-01-17 19:29:07 +00:00
parent 038ebe2459
commit b51c27c032
3 changed files with 90 additions and 4 deletions

View File

@ -0,0 +1,57 @@
/* Copyright (C) 1991, 1992, 1993, 1997 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 <errno.h>
#include <limits.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <hurd/fd.h>
/* Write formatted output to file descriptor D according to the format string
FORMAT, using the argument list in ARG. */
int
vdprintf (int d, const char *format, va_list arg)
{
int done;
FILE f;
struct hurd_fd *fd;
HURD_CRITICAL_BEGIN;
fd = _hurd_fd_get (fd);
HURD_CRITICAL_END;
if (!fd)
return 0;
/* Create an unbuffered stream talking to D on the stack. */
memset ((PTR) &f, 0, sizeof(f));
f.__magic = _IOMAGIC;
f.__mode.__write = 1;
f.__cookie = fd;
f.__room_funcs = __default_room_functions;
f.__io_funcs = __default_io_functions;
f.__seen = 1;
f.__userbuf = 1;
/* vfprintf will use a buffer on the stack for the life of the call,
and flush it when finished. */
done = vfprintf (&f, format, arg);
return done;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. /* Copyright (C) 1991, 1992, 1993, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <errno.h> #include <errno.h>
#include <limits.h> #include <limits.h>
#include <stdarg.h> #include <stdarg.h>
@ -27,8 +26,7 @@ Cambridge, MA 02139, USA. */
/* Write formatted output to file descriptor D according to the format string /* Write formatted output to file descriptor D according to the format string
FORMAT, using the argument list in ARG. */ FORMAT, using the argument list in ARG. */
int int
DEFUN(vdprintf, (d, format, arg), vdprintf (int d, const char *format, va_list arg)
int d AND CONST char *format AND va_list arg)
{ {
int done; int done;
FILE f; FILE f;

31
sysdeps/stub/vdprintf.c Normal file
View File

@ -0,0 +1,31 @@
/* Copyright (C) 1997 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 <errno.h>
#include <stdio.h>
/* Write formatted output to file descriptor D according to the format string
FORMAT, using the argument list in ARG. */
int
vdprintf (int d, const char *format, va_list arg)
{
__set_errno (ENOSYS);
return NULL;
}
stub_warning (vdprintf)