1 /* fdprintf -- printf to a file descriptor */
3 /* Copyright (C) 2008,2009 Free Software Foundation, Inc.
5 This file is part of GNU Bash, the Bourne Again SHell.
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
27 #if defined (HAVE_UNISTD_H)
31 #if defined (PREFER_STDARG)
40 #if defined (PREFER_STDARG)
41 fdprintf(int fd
, const char *format
, ...)
43 fdprintf(fd
, format
, va_alist
)
53 if ((fd2
= dup(fd
)) < 0)
55 fp
= fdopen (fd2
, "w");
62 SH_VA_START (args
, format
);
63 rc
= vfprintf (fp
, format
, args
);
67 r2
= fclose (fp
); /* check here */