30 #include <ctype.h> |
30 #include <ctype.h> |
31 #include <string.h> |
31 #include <string.h> |
32 #include "codegens.h" |
32 #include "codegens.h" |
33 |
33 |
34 |
34 |
35 size_t writeescapedchar(char *dest, size_t dp, char c) { |
35 void put_htmlescaped(UcxBuffer *dest, char c) { |
36 if (c == '>') { |
36 if (c == '>') { |
37 dest[dp++] = '&'; dest[dp++] = 'g'; dest[dp++] = 't'; dest[dp++] = ';'; |
37 ucx_buffer_puts(dest, ">"); |
38 } else if (c == '<') { |
38 } else if (c == '<') { |
39 dest[dp++] = '&'; dest[dp++] = 'l'; dest[dp++] = 't'; dest[dp++] = ';'; |
39 ucx_buffer_puts(dest, "<"); |
40 } else { |
40 } else { |
41 dest[dp++] = c; |
41 ucx_buffer_putc(dest, c); |
42 } |
42 } |
|
43 } |
43 |
44 |
44 return dp; |
45 void put_htmlescapedstr(UcxBuffer *dest, sstr_t s) { |
|
46 for (int i = 0 ; i < s.length ; i++) { |
|
47 put_htmlescaped(dest, s.ptr[i]); |
|
48 } |
45 } |
49 } |
46 |
50 |
47 int check_keyword(sstr_t word, const char** keywords) { |
51 int check_keyword(sstr_t word, const char** keywords) { |
48 for (int i = 0 ; keywords[i] ; i++) { |
52 for (int i = 0 ; keywords[i] ; i++) { |
49 if (sstrcmp(word, sstr((char*)keywords[i])) == 0) { |
53 if (sstrcmp(word, sstr((char*)keywords[i])) == 0) { |