src/codegens.c

changeset 48
b2724c711203
parent 47
c39ecbbca7c0
child 49
f86f0b054464
equal deleted inserted replaced
47:c39ecbbca7c0 48:b2724c711203
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, "&gt;");
38 } else if (c == '<') { 38 } else if (c == '<') {
39 dest[dp++] = '&'; dest[dp++] = 'l'; dest[dp++] = 't'; dest[dp++] = ';'; 39 ucx_buffer_puts(dest, "&lt;");
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) {

mercurial