22#ifndef LIBDPKG_VARBUF_H
23#define LIBDPKG_VARBUF_H
62 void init(
size_t _size = 0);
67 void operator()(
int c);
68 void operator()(const
char *s);
73#define VARBUF_INIT { 0, 0, NULL }
75#define VARBUF_OBJECT (struct varbuf)VARBUF_INIT
89#define varbuf_add_str(v, s) varbuf_add_buf(v, s, strlen(s))
115varbuf::varbuf(
size_t _size)
127varbuf::init(
size_t _size)
145varbuf::fmt(
const char *_fmt, ...)
150 va_start(
args, _fmt);
158varbuf::vfmt(
const char *_fmt, va_list va)
164varbuf::operator()(
int c)
170varbuf::operator()(
const char *s)
void * args[20]
Definition: ehandle.c:89
#define DPKG_BEGIN_DECLS
Definition: macros.h:86
#define DPKG_ATTR_VPRINTF(n)
Definition: macros.h:57
#define DPKG_ATTR_PRINTF(n)
Definition: macros.h:56
#define DPKG_END_DECLS
Definition: macros.h:87
void varbuf_free(struct varbuf *v)
Definition: varbuf.c:243
void varbuf_dup_char(struct varbuf *v, int c, size_t n)
Definition: varbuf.c:41
void varbuf_end_str(struct varbuf *v)
Definition: varbuf.c:116
const char * varbuf_get_str(struct varbuf *v)
Definition: varbuf.c:123
void varbuf_add_dir(struct varbuf *v, const char *dirname)
Definition: varbuf.c:108
const char * varbuf_rollback_start(struct varbuf_state *vs)
Definition: varbuf.c:212
#define varbuf_add_str(v, s)
Definition: varbuf.h:89
void varbuf_destroy(struct varbuf *v)
Definition: varbuf.c:237
int varbuf_printf(struct varbuf *v, const char *fmt,...) DPKG_ATTR_PRINTF(2)
Definition: varbuf.c:61
char * varbuf_detach(struct varbuf *v)
Definition: varbuf.c:225
void varbuf_map_char(struct varbuf *v, int c_src, int c_dst)
Definition: varbuf.c:51
void varbuf_rollback(struct varbuf_state *vs)
Definition: varbuf.c:198
void varbuf_add_buf(struct varbuf *v, const void *s, size_t size)
Definition: varbuf.c:98
void varbuf_init(struct varbuf *v, size_t size)
Definition: varbuf.c:142
void varbuf_grow(struct varbuf *v, size_t need_size)
Definition: varbuf.c:159
void varbuf_snapshot(struct varbuf *v, struct varbuf_state *vs)
Definition: varbuf.c:191
void varbuf_reset(struct varbuf *v)
Definition: varbuf.c:153
struct varbuf * varbuf_new(size_t size)
Definition: varbuf.c:131
size_t varbuf_rollback_len(struct varbuf_state *vs)
Definition: varbuf.c:204
void varbuf_trunc(struct varbuf *v, size_t used_size)
Definition: varbuf.c:181
int varbuf_vprintf(struct varbuf *v, const char *fmt, va_list va) DPKG_ATTR_VPRINTF(2)
Definition: varbuf.c:74
void varbuf_add_char(struct varbuf *v, int c)
Definition: varbuf.c:34
struct varbuf * v
Definition: varbuf.h:100
size_t used
Definition: varbuf.h:101
varbuf_init must be called exactly once before the use of each varbuf (including before any call to v...
Definition: varbuf.h:55
size_t used
Definition: varbuf.h:56
char * buf
Definition: varbuf.h:57
size_t size
Definition: varbuf.h:56