Data Structures | Defines | Typedefs | Functions

vsnprintf.c File Reference

#include <sys/types.h>
#include <varargs.h>
#include <stddef.h>
Include dependency graph for vsnprintf.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  __sbuf
struct  __sFILE
struct  __siov
struct  __suio

Defines

#define u_long   unsigned long
#define u_short   unsigned short
#define u_int   unsigned int
#define __P(x)   ()
#define _BSD_VA_LIST_   va_list
#define LONG_MAX   2147483647
#define NULL   0
#define __SLBF   0x0001
#define __SNBF   0x0002
#define __SRD   0x0004
#define __SWR   0x0008
#define __SRW   0x0010
#define __SEOF   0x0020
#define __SERR   0x0040
#define __SMBF   0x0080
#define __SAPP   0x0100
#define __SSTR   0x0200
#define __SOPT   0x0400
#define __SNPT   0x0800
#define __SOFF   0x1000
#define __SMOD   0x2000
#define EOF   (-1)
#define __sfeof(p)   (((p)->_flags & __SEOF) != 0)
#define __sferror(p)   (((p)->_flags & __SERR) != 0)
#define __sclearerr(p)   ((void)((p)->_flags &= ~(__SERR|__SEOF)))
#define __sfileno(p)   ((p)->_file)
#define feof(p)   __sfeof(p)
#define ferror(p)   __sferror(p)
#define clearerr(p)   __sclearerr(p)
#define fileno(p)   __sfileno(p)
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
#define COPY(n)   (void)memcpy((void *)fp->_p, (void *)p, (size_t)(n))
#define GETIOV(extra_work)
#define to_digit(c)   ((c) - '0')
#define is_digit(c)   ((unsigned)to_digit(c) <= 9)
#define to_char(n)   (char)((n) + '0')
#define BUF   68
#define ALT   0x001
#define HEXPREFIX   0x002
#define LADJUST   0x004
#define LONGDBL   0x008
#define LONGINT   0x010
#define SHORTINT   0x040
#define ZEROPAD   0x080
#define FPT   0x100
#define NIOV   8
#define PADSIZE   16
#define PRINT(ptr, len)
#define PAD(howmany, with)
#define PAD_L(howmany, with)   PAD(howmany, with)
#define FLUSH()
#define SARG()
#define UARG()

Typedefs

typedef struct __sFILE FILE

Functions

static int BSD__sfvwrite (FILE *fp, struct __suio *uio)
static int BSD__sprint (FILE *fp, register struct __suio *uio)
static int BSD__sbprintf (register FILE *fp, const char *fmt, va_list ap)
static char * BSD__ultoa (register u_long val, char *endp, int base, int octzero, const char *xdigs)
static ssize_t BSD_vfprintf (FILE *fp, const char *fmt0, va_list ap)
int ruby_vsnprintf (char *str, size_t n, const char *fmt, va_list ap)
int ruby_snprintf (char *str, size_t n, char const *fmt,...)

Define Documentation

#define __P (   x  )     ()

Definition at line 81 of file vsnprintf.c.

#define __SAPP   0x0100

Definition at line 192 of file vsnprintf.c.

#define __sclearerr (   p  )     ((void)((p)->_flags &= ~(__SERR|__SEOF)))

Definition at line 205 of file vsnprintf.c.

#define __SEOF   0x0020

Definition at line 189 of file vsnprintf.c.

#define __SERR   0x0040

Definition at line 190 of file vsnprintf.c.

#define __sfeof (   p  )     (((p)->_flags & __SEOF) != 0)

Definition at line 203 of file vsnprintf.c.

#define __sferror (   p  )     (((p)->_flags & __SERR) != 0)

Definition at line 204 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define __sfileno (   p  )     ((p)->_file)

Definition at line 206 of file vsnprintf.c.

#define __SLBF   0x0001

Definition at line 183 of file vsnprintf.c.

Referenced by BSD__sfvwrite().

#define __SMBF   0x0080

Definition at line 191 of file vsnprintf.c.

#define __SMOD   0x2000

Definition at line 197 of file vsnprintf.c.

#define __SNBF   0x0002

Definition at line 184 of file vsnprintf.c.

Referenced by BSD__sfvwrite(), and BSD_vfprintf().

#define __SNPT   0x0800

Definition at line 195 of file vsnprintf.c.

#define __SOFF   0x1000

Definition at line 196 of file vsnprintf.c.

#define __SOPT   0x0400

Definition at line 194 of file vsnprintf.c.

#define __SRD   0x0004

Definition at line 185 of file vsnprintf.c.

#define __SRW   0x0010

Definition at line 188 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define __SSTR   0x0200

Definition at line 193 of file vsnprintf.c.

Referenced by BSD__sfvwrite().

#define __SWR   0x0008
#define _BSD_VA_LIST_   va_list

Definition at line 88 of file vsnprintf.c.

#define ALT   0x001

Definition at line 512 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define BUF   68

Definition at line 504 of file vsnprintf.c.

#define clearerr (   p  )     __sclearerr(p)

Definition at line 213 of file vsnprintf.c.

Referenced by rb_w32_getc().

#define COPY (   n  )     (void)memcpy((void *)fp->_p, (void *)p, (size_t)(n))

Referenced by BSD__sfvwrite().

#define EOF   (-1)
#define feof (   p  )     __sfeof(p)

Definition at line 211 of file vsnprintf.c.

#define ferror (   p  )     __sferror(p)

Definition at line 212 of file vsnprintf.c.

#define fileno (   p  )     __sfileno(p)
#define FLUSH (  ) 
Value:
{ \
        if (uio.uio_resid && BSD__sprint(fp, &uio)) \
                goto error; \
        uio.uio_iovcnt = 0; \
        iovp = iov; \
}

Referenced by BSD_vfprintf().

#define FPT   0x100

Definition at line 524 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define GETIOV (   extra_work  ) 
Value:
while (len == 0) { \
                extra_work; \
                p = iov->iov_base; \
                len = iov->iov_len; \
                iov++; \
        }

Referenced by BSD__sfvwrite().

#define HEXPREFIX   0x002

Definition at line 513 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define is_digit (   c  )     ((unsigned)to_digit(c) <= 9)

Definition at line 351 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define LADJUST   0x004

Definition at line 514 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define LONG_MAX   2147483647

Definition at line 99 of file vsnprintf.c.

Referenced by BSD__ultoa().

#define LONGDBL   0x008

Definition at line 515 of file vsnprintf.c.

#define LONGINT   0x010

Definition at line 516 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define MIN (   a,
  b 
)    ((a) < (b) ? (a) : (b))
#define NIOV   8
#define NULL   0

Definition at line 123 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define PAD (   howmany,
  with 
)
Value:
{ \
        if ((n = (howmany)) > 0) { \
                while (n > PADSIZE) { \
                        PRINT(with, PADSIZE); \
                        n -= PADSIZE; \
                } \
                PRINT(with, n); \
        } \
}

Referenced by BSD_vfprintf().

#define PAD_L (   howmany,
  with 
)    PAD(howmany, with)

Referenced by BSD_vfprintf().

#define PADSIZE   16
#define PRINT (   ptr,
  len 
)
Value:
{ \
        iovp->iov_base = (ptr); \
        iovp->iov_len = (len); \
        uio.uio_resid += (len); \
        iovp++; \
        if (++uio.uio_iovcnt >= NIOV) { \
                if (BSD__sprint(fp, &uio)) \
                        goto error; \
                iovp = iov; \
        } \
}
#define SARG (  ) 
Value:
(flags&LONGINT ? va_arg(ap, long) : \
            flags&SHORTINT ? (long)(short)va_arg(ap, int) : \
            (long)va_arg(ap, int))

Referenced by BSD_vfprintf().

#define SHORTINT   0x040

Definition at line 522 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define to_char (   n  )     (char)((n) + '0')

Definition at line 352 of file vsnprintf.c.

Referenced by BSD__ultoa().

#define to_digit (   c  )     ((c) - '0')

Definition at line 350 of file vsnprintf.c.

Referenced by BSD_vfprintf().

#define u_int   unsigned int

Definition at line 66 of file vsnprintf.c.

#define u_long   unsigned long

Definition at line 64 of file vsnprintf.c.

Referenced by BSD_vfprintf(), fcntl(), getaddrinfo(), and getnameinfo().

#define u_short   unsigned short

Definition at line 65 of file vsnprintf.c.

Referenced by get_addr(), get_name(), getaddrinfo(), and getnameinfo().

#define UARG (  ) 
Value:
(flags&LONGINT ? va_arg(ap, u_long) : \
            flags&SHORTINT ? (u_long)(u_short)va_arg(ap, int) : \
            (u_long)va_arg(ap, u_int))

Referenced by BSD_vfprintf().

#define ZEROPAD   0x080

Definition at line 523 of file vsnprintf.c.

Referenced by BSD_vfprintf().


Typedef Documentation

typedef struct __sFILE FILE

Function Documentation

static int BSD__sbprintf ( register FILE fp,
const char *  fmt,
va_list  ap 
) [static]

Definition at line 340 of file vsnprintf.c.

Referenced by BSD_vfprintf().

static int BSD__sfvwrite ( FILE fp,
struct __suio uio 
) [static]

Definition at line 239 of file vsnprintf.c.

References __SLBF, __SNBF, __SSTR, COPY, GETIOV, __siov::iov_base, __siov::iov_len, and len.

static int BSD__sprint ( FILE fp,
register struct __suio uio 
) [static]

Definition at line 319 of file vsnprintf.c.

References err, __suio::uio_iovcnt, __suio::uio_resid, and __sFILE::vwrite.

static char* BSD__ultoa ( register u_long  val,
char *  endp,
int  base,
int  octzero,
const char *  xdigs 
) [static]

Definition at line 427 of file vsnprintf.c.

References LONG_MAX, and to_char.

Referenced by BSD_vfprintf().

static ssize_t BSD_vfprintf ( FILE fp,
const char *  fmt0,
va_list  ap 
) [static]
int ruby_snprintf ( char *  str,
size_t  n,
char const *  fmt,
  ... 
)
int ruby_vsnprintf ( char *  str,
size_t  n,
const char *  fmt,
va_list  ap 
)