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 */