… | |
… | |
30 | void clear (); |
30 | void clear (); |
31 | void finish (); |
31 | void finish (); |
32 | |
32 | |
33 | public: |
33 | public: |
34 | |
34 | |
35 | dynbuf (int initial = 128, int extend = 128); |
35 | dynbuf (int initial = 4096, int extend = 16384); |
36 | ~dynbuf (); |
36 | ~dynbuf (); |
37 | |
37 | |
38 | int size () { return _size + (ptr - last->data); } |
38 | int size () { return _size + (ptr - last->data); } |
39 | |
39 | |
40 | void linearise (void *data); |
40 | void linearise (void *data); |
… | |
… | |
57 | |
57 | |
58 | return res; |
58 | return res; |
59 | } |
59 | } |
60 | |
60 | |
61 | void fadd (char c) { --room; *ptr++ = c; } |
61 | void fadd (char c) { --room; *ptr++ = c; } |
62 | void fadd (unsigned char c) { fadd (char (c));; } |
62 | void fadd (unsigned char c) { fadd (char (c)); } |
63 | |
63 | |
64 | void add (const void *p, int len) |
64 | void add (const void *p, int len) |
65 | { |
65 | { |
66 | memcpy (alloc (len), p, len); |
66 | memcpy (alloc (len), p, len); |
67 | } |
67 | } |
68 | |
68 | |
69 | void add (char c) |
69 | void add (char c) |
70 | { |
70 | { |
71 | if (room < 1) |
71 | alloc (1)[0] = c; |
72 | _reserve (1); |
|
|
73 | |
|
|
74 | room--; |
|
|
75 | *ptr++ = c; |
|
|
76 | } |
72 | } |
77 | |
73 | |
78 | void add (const char *s) |
74 | void add (const char *s) |
79 | { |
75 | { |
80 | add (s, strlen (s)); |
76 | add (s, strlen (s)); |