98 #define STR vstring_str
119 #define TEXT_RECORD(t) ((t) == REC_TYPE_NORM || (t) == REC_TYPE_CONT)
132 }
while (len > 0 && err >= 0);
135 if (errno == EFBIG) {
136 msg_warn(
"%s: queue file size limit exceeded",
204 for (line = start; line; line = next_line) {
206 line_len = next_line ? next_line - 1 - line : strlen(line);
void cleanup_out_string(CLEANUP_STATE *state, int type, const char *string)
void cleanup_out_format(CLEANUP_STATE *state, int type, const char *fmt,...)
#define CLEANUP_STAT_SIZE
NORETURN msg_panic(const char *fmt,...)
#define REC_TYPE_PTR_PAYL_SIZE
#define SMTPUTF8_FLAG_HEADER
#define CLEANUP_OUT_BUF(s, t, b)
#define SMTPUTF8_FLAG_REQUESTED
VSTRING * vstring_vsprintf(VSTRING *vp, const char *format, va_list ap)
void cleanup_out(CLEANUP_STATE *state, int type, const char *string, ssize_t len)
int rec_pad(VSTREAM *stream, int type, ssize_t len)
void msg_warn(const char *fmt,...)
#define CLEANUP_FLAG_AUTOUTF8
VSTRING * vstring_alloc(ssize_t len)
int rec_put(VSTREAM *stream, int type, const char *data, ssize_t len)
#define CLEANUP_OUT_OK(s)
char * split_at(char *string, int delimiter)
#define CLEANUP_STAT_WRITE
MILTERS * cleanup_milters
void cleanup_out_header(CLEANUP_STATE *state, VSTRING *header_buf)