Postfix3.3.1
マクロ定義 | 関数
vbuf_print.c ファイル
#include "sys_defs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <float.h>
#include <errno.h>
#include <limits.h>
#include "msg.h"
#include "mymalloc.h"
#include "vbuf.h"
#include "vstring.h"
#include "vbuf_print.h"

[ソースコード]

マクロ定義

#define INT_SPACE   ((CHAR_BIT * sizeof(long)) / 2)
 
#define DBL_SPACE   ((CHAR_BIT * sizeof(double)) / 2 + DBL_MAX_10_EXP)
 
#define PTR_SPACE   ((CHAR_BIT * sizeof(char *)) / 2)
 
#define VBUF_SNPRINTF(bp, sz, fmt, arg)
 
#define VBUF_SKIP(bp)
 
#define VSTRING_ADDNUM(vp, n)
 
#define VBUF_STRCAT(bp, s)
 

関数

VBUFvbuf_print (VBUF *bp, const char *format, va_list ap)
 

マクロ定義詳解

#define DBL_SPACE   ((CHAR_BIT * sizeof(double)) / 2 + DBL_MAX_10_EXP)

vbuf_print.c100 行目に定義があります。

#define INT_SPACE   ((CHAR_BIT * sizeof(long)) / 2)

vbuf_print.c99 行目に定義があります。

#define PTR_SPACE   ((CHAR_BIT * sizeof(char *)) / 2)

vbuf_print.c101 行目に定義があります。

#define VBUF_SKIP (   bp)
値:
do { \
while ((bp)->cnt > 0 && *(bp)->ptr) \
(bp)->ptr++, (bp)->cnt--; \
} while (0)

vbuf_print.c129 行目に定義があります。

#define VBUF_SNPRINTF (   bp,
  sz,
  fmt,
  arg 
)
値:
do { \
ssize_t _ret; \
if (VBUF_SPACE((bp), (sz)) != 0) \
return (bp); \
_ret = snprintf((char *) (bp)->ptr, (bp)->cnt, (fmt), (arg)); \
if (_ret < 0) \
msg_panic("%s: output error for '%s'", myname, mystrdup(fmt)); \
if (_ret >= (bp)->cnt) \
msg_panic("%s: output for '%s' exceeds space %ld", \
myname, mystrdup(fmt), (long) (bp)->cnt); \
VBUF_SKIP(bp); \
} while (0)
char * mystrdup(const char *str)
Definition: mymalloc.c:225
NORETURN msg_panic(const char *fmt,...)
Definition: msg.c:295
#define VBUF_SKIP(bp)
Definition: vbuf_print.c:129
int const char * fmt
#define VBUF_SPACE(v, n)
Definition: vbuf.h:89

vbuf_print.c108 行目に定義があります。

#define VBUF_STRCAT (   bp,
 
)
値:
do { \
unsigned char *_cp = (unsigned char *) (s); \
int _ch; \
while ((_ch = *_cp++) != 0) \
VBUF_PUT((bp), _ch); \
} while (0)
#define VBUF_PUT(v, c)
Definition: vbuf.h:87
int int
Definition: smtpd_proxy.h:21

vbuf_print.c138 行目に定義があります。

#define VSTRING_ADDNUM (   vp,
 
)
値:
do { \
VBUF_SNPRINTF(&(vp)->vbuf, INT_SPACE, "%d", n); \
} while (0)
#define INT_SPACE
Definition: vbuf_print.c:99
#define VBUF_SNPRINTF(bp, sz, fmt, arg)
Definition: vbuf_print.c:108

vbuf_print.c134 行目に定義があります。

関数詳解

VBUF* vbuf_print ( VBUF bp,
const char *  format,
va_list  ap 
)

vbuf_print.c147 行目に定義があります。