src/codegens.c

changeset 48
b2724c711203
parent 47
c39ecbbca7c0
child 49
f86f0b054464
--- 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, "&lt;");
     } 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) {

mercurial