MCPcopy Create free account
hub / github.com/NetHack/NetHack / strbuf_reserve

Function strbuf_reserve

src/strutil.c:27–45  ·  view source on GitHub ↗

strbuf_reserve() ensure strbuf->str has storage for len characters */

Source from the content-addressed store, hash-verified

25
26/* strbuf_reserve() ensure strbuf->str has storage for len characters */
27void
28strbuf_reserve(strbuf_t *strbuf, int len)
29{
30 if (strbuf->str == NULL) {
31 strbuf->str = strbuf->buf;
32 strbuf->str[0] = '\0';
33 strbuf->len = (int) sizeof strbuf->buf;
34 }
35
36 if (len > strbuf->len) {
37 char *oldbuf = strbuf->str;
38
39 strbuf->len = len + (int) sizeof strbuf->buf;
40 strbuf->str = (char *) alloc(strbuf->len);
41 Strcpy(strbuf->str, oldbuf);
42 if (oldbuf != strbuf->buf)
43 free((genericptr_t) oldbuf);
44 }
45}
46
47/* strbuf_empty() frees allocated memory and set strbuf to initial state */
48void

Callers 3

strbuf_appendFunction · 0.85
strbuf_nl_to_crlfFunction · 0.85

Calls 1

allocFunction · 0.70

Tested by

no test coverage detected