-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmstring.h
52 lines (27 loc) · 974 Bytes
/
mstring.h
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
mstring: melissa string
this is currently **NOT LICENSED** for reuse
*/
#include <stdlib.h>
typedef struct {
unsigned long canarybuf;
size_t len;
char* buf;
unsigned long canarylen;
} mstring;
int mstringValid(const mstring* str);
void mstringNew(mstring* str, size_t len);
void mstringDelete(mstring* str);
void mstringDuplicate(mstring* src, mstring* dst);
void mstringSet(mstring *str, void* src, size_t len);
void mstringAppend(mstring* str, void* src, size_t len, size_t pos);
int mstringCompare(const mstring* a, const mstring* b);
size_t mstringLength(const mstring* str);
int mstringPrintf(mstring* str, const char* format, ...);
void mstringClear(mstring* str);
void mstringGrow(mstring* str, size_t newlen);
// -------- internal ----------
void mstringDebug(const mstring* str);
void mstringHexdump(const mstring* str);
void mstringFatal(const mstring* str, char* message);
void mstringComplain(mstring* str, char* message);