/* Copyright (C) 2005, 2007 Shaun Jackman * Permission to use, copy, modify, and distribute this software * is freely granted, provided that this notice is preserved. */ /* FUNCTION <>, <>---print to a file descriptor (integer only) INDEX diprintf INDEX _diprintf_r INDEX vdiprintf INDEX _vdiprintf_r SYNOPSIS #include #include int diprintf(int <[fd]>, const char *<[format]>, ...); int vdiprintf(int <[fd]>, const char *<[format]>, va_list <[ap]>); int _diprintf_r(struct _reent *<[ptr]>, int <[fd]>, const char *<[format]>, ...); int _vdiprintf_r(struct _reent *<[ptr]>, int <[fd]>, const char *<[format]>, va_list <[ap]>); DESCRIPTION <> and <> are similar to <> and <>, except that only integer format specifiers are processed. The functions <<_diprintf_r>> and <<_vdiprintf_r>> are simply reentrant versions of the functions above. RETURNS Similar to <> and <>. PORTABILITY This set of functions is an integer-only extension, and is not portable. Supporting OS subroutines required: <>, <>. */ #include <_ansi.h> #include #include #include #include int _DEFUN(_diprintf_r, (ptr, fd, format), struct _reent *ptr _AND int fd _AND const char *format _DOTS) { va_list ap; int n; va_start (ap, format); n = _vdiprintf_r (ptr, fd, format, ap); va_end (ap); return n; } #ifndef _REENT_ONLY int _DEFUN(diprintf, (fd, format), int fd _AND const char *format _DOTS) { va_list ap; int n; va_start (ap, format); n = _vdiprintf_r (_REENT, fd, format, ap); va_end (ap); return n; } #endif /* ! _REENT_ONLY */