summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extract/src/astring.h')
-rw-r--r--extract/src/astring.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/extract/src/astring.h b/extract/src/astring.h
index c2b60d25..aef4d87f 100644
--- a/extract/src/astring.h
+++ b/extract/src/astring.h
@@ -11,8 +11,11 @@ typedef struct
} extract_astring_t;
void extract_astring_init(extract_astring_t* string);
+/* Initialises <string> so it is ready for use. */
void extract_astring_free(extract_alloc_t* alloc, extract_astring_t* string);
+/* Frees any existing data and returns with <string> ready for use as if by
+extract_astring_init(). */
int extract_astring_catl(extract_alloc_t* alloc, extract_astring_t* string, const char* s, size_t s_len);
@@ -24,10 +27,33 @@ int extract_astring_catf(extract_alloc_t* alloc, extract_astring_t* string, cons
int extract_astring_truncate(extract_astring_t* content, int len);
/* Removes last <len> chars. */
-int astring_char_truncate_if(extract_astring_t* content, char c);
+int extract_astring_char_truncate_if(extract_astring_t* content, char c);
/* Removes last char if it is <c>. */
int extract_astring_cat_xmlc(extract_alloc_t* alloc, extract_astring_t* string, int c);
/* Appends specified character using XML escapes as necessary. */
+int extract_astring_catc_unicode(
+ extract_alloc_t* alloc,
+ extract_astring_t* string,
+ int c,
+ int xml,
+ int ascii_ligatures,
+ int ascii_dash,
+ int ascii_apostrophe
+ );
+/* Appends unicode character <c> to <string>.
+ xml:
+ If true, we use XML escape sequences for special characters such as '<'
+ and unicode values above 127. Otherwise we encode as utf8.
+ ascii_ligatures: if true we expand ligatures to "fl", "fi" etc.
+ ascii_dash:
+ If true we replace unicode dash characters with '-'.
+ ascii_apostrophe:
+ If true we replace unicode apostrophe with ascii single-quote "'".
+*/
+
+int extract_astring_catc_unicode_xml(extract_alloc_t* alloc, extract_astring_t* string, int c);
+/* Appends specific unicode character, using XML escape sequences as required. */
+
#endif