blob: a6324f040353555900b90e7df9d548667f05ccec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#ifndef BUF_H
#define BUF_H
#include <stddef.h>
/* string views */
typedef struct {
const char *s;
size_t n;
} strv_t;
strv_t strv(const char *s);
char strv_next(strv_t *s);
int strv_split(strv_t *src, int chr, strv_t *dest);
/* strings */
typedef struct buf {
size_t sz, cap;
char *buf;
} str_t;
void str_init(str_t *, size_t);
void str_grow(str_t *, size_t);
void str_free(str_t *);
void str_cat(str_t *b, strv_t s);
void str_catc(str_t *b, char c);
void str_fmt(str_t *b, const char *fmt, ...);
#endif
|