summaryrefslogtreecommitdiff
blob: 947e6587e2ebed07aa75d06726711485b93384ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef ARTIFEX_EXTRACT_AUTOSTRING_XML
#define ARTIFEX_EXTRACT_AUTOSTRING_XML

/* Only for internal use by extract code.  */

/* A simple string struct that reallocs as required. */
typedef struct
{
    char*   chars;      /* NULL or zero-terminated. */
    size_t  chars_num;  /* Length of string pointed to by .chars. */
} extract_astring_t;

void extract_astring_init(extract_astring_t* string);

void extract_astring_free(extract_alloc_t* alloc, extract_astring_t* string);

int extract_astring_catl(extract_alloc_t* alloc, extract_astring_t* string, const char* s, size_t s_len);

int extract_astring_catc(extract_alloc_t* alloc, extract_astring_t* string, char c);

int extract_astring_cat(extract_alloc_t* alloc, extract_astring_t* string, const char* s);

#endif