src/ccodegen.c

changeset 28
1be8ea902ef4
parent 26
05c3c6842aef
child 29
ec6e97454e64
equal deleted inserted replaced
27:53fd8595378c 28:1be8ea902ef4
55 } 55 }
56 56
57 memset(hltr->word, 0, WORDBUF_SIZE); 57 memset(hltr->word, 0, WORDBUF_SIZE);
58 size_t wp = 0, ifp = 0; 58 size_t wp = 0, ifp = 0;
59 int isstring = 0, iscomment = 0, isinclude = 0, parseinclude = 0; 59 int isstring = 0, iscomment = 0, isinclude = 0, parseinclude = 0;
60 char quote = '\0';
60 int isescaping = 0; 61 int isescaping = 0;
61 62
62 if (hltr->iscommentml) { 63 if (hltr->iscommentml) {
63 iscomment = 1; 64 iscomment = 1;
64 memcpy(&(dest[dp]), "<span class=\"c2html-comment\">", 29); 65 memcpy(&(dest[dp]), "<span class=\"c2html-comment\">", 29);
124 dp = writeescapedchar(dest, dp, c); 125 dp = writeescapedchar(dest, dp, c);
125 } 126 }
126 } else { 127 } else {
127 /* strings */ 128 /* strings */
128 if (!isescaping && (c == '\'' || c == '\"')) { 129 if (!isescaping && (c == '\'' || c == '\"')) {
129 isstring ^= 1;
130 if (isstring) { 130 if (isstring) {
131 memcpy(&(dest[dp]), "<span class=\"c2html-string\">", 28); 131 if (c == quote) {
132 dp += 28; 132 isstring = 0;
133 dp = writeescapedchar(dest, dp, c); 133 memcpy(&(dest[dp]), "<span class=\"c2html-string\">", 28);
134 dp += 28;
135 dp = writeescapedchar(dest, dp, c);
136 } else {
137 dp = writeescapedchar(dest, dp, c);
138 }
134 } else { 139 } else {
140 isstring = 1;
141 quote = c;
135 dp = writeescapedchar(dest, dp, c); 142 dp = writeescapedchar(dest, dp, c);
136 memcpy(&(dest[dp]), "</span>", 7); 143 memcpy(&(dest[dp]), "</span>", 7);
137 dp += 7; 144 dp += 7;
138 } 145 }
139 } else { 146 } else {

mercurial