diff -r c39ecbbca7c0 -r b2724c711203 src/codegens.c --- a/src/codegens.c Tue Aug 23 16:34:02 2016 +0200 +++ b/src/codegens.c Tue Aug 23 17:24:58 2016 +0200 @@ -32,16 +32,20 @@ #include "codegens.h" -size_t writeescapedchar(char *dest, size_t dp, char c) { +void put_htmlescaped(UcxBuffer *dest, char c) { if (c == '>') { - dest[dp++] = '&'; dest[dp++] = 'g'; dest[dp++] = 't'; dest[dp++] = ';'; + ucx_buffer_puts(dest, ">"); } else if (c == '<') { - dest[dp++] = '&'; dest[dp++] = 'l'; dest[dp++] = 't'; dest[dp++] = ';'; + ucx_buffer_puts(dest, "<"); } else { - dest[dp++] = c; + ucx_buffer_putc(dest, c); } +} - return dp; +void put_htmlescapedstr(UcxBuffer *dest, sstr_t s) { + for (int i = 0 ; i < s.length ; i++) { + put_htmlescaped(dest, s.ptr[i]); + } } int check_keyword(sstr_t word, const char** keywords) {