Skip to content

Commit 8ef8c73

Browse files
committed
fix base.c
1 parent d071bc3 commit 8ef8c73

File tree

1 file changed

+29
-22
lines changed

1 file changed

+29
-22
lines changed

base.c

+29-22
Original file line numberDiff line numberDiff line change
@@ -1457,28 +1457,35 @@ ctr_object* ctr_string_html_escape(ctr_object* myself, ctr_argument* argumentLis
14571457
tstr = malloc(tlen * sizeof(char));
14581458
for(i = 0; i < len; i++) {
14591459
char c = str[i];
1460-
if (c == '<') {
1461-
replacement = "&lt;";
1462-
rlen = 4;
1463-
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1464-
} else if (c == '>') {
1465-
replacement = "&gt;";
1466-
rlen = 4;
1467-
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1468-
} else if (c == '&') {
1469-
replacement = "&amp;";
1470-
rlen = 5;
1471-
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1472-
} else if (c == '"') {
1473-
replacement = "&quot;";
1474-
rlen = 6;
1475-
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1476-
} else if (c == '\'') {
1477-
replacement = "&apos;";
1478-
rlen = 6;
1479-
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1480-
} else {
1481-
tstr[k++] = str[i];
1460+
switch (c) {
1461+
case '<':
1462+
replacement = "&lt;";
1463+
rlen = 4;
1464+
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1465+
break;
1466+
case '>':
1467+
replacement = "&gt;";
1468+
rlen = 4;
1469+
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1470+
break;
1471+
case '&':
1472+
replacement = "&amp;";
1473+
rlen = 5;
1474+
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1475+
break;
1476+
case '"':
1477+
replacement = "&quot;";
1478+
rlen = 6;
1479+
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1480+
break;
1481+
case '\'':
1482+
replacement = "&apos;";
1483+
rlen = 6;
1484+
for(j=0; j<rlen; j++) tstr[k++]=replacement[j];
1485+
break;
1486+
default:
1487+
tstr[k++] = str[i];
1488+
break;
14821489
}
14831490
}
14841491
return ctr_build_string(tstr, tlen);

0 commit comments

Comments
 (0)