fixed comment output

This commit is contained in:
cozis
2022-05-05 20:29:09 +02:00
parent ed35e6fe97
commit 401df276a6
3 changed files with 32 additions and 17 deletions
-1
View File
@@ -1 +0,0 @@
- Newlines in multi-line comments arent converted into <br/>s
+10 -10
View File
@@ -96,23 +96,23 @@ int main()
```
when executed, the output will be:
```
<div class="code">
<div class="code-inner">
<span class="kword kword-int">int</span> <span class="identifier fdeclname">main</span>() {<br />
&emsp;&emsp;&emsp;&emsp;<span class="kword kword-int">int</span> <span class="identifier">a</span> <span class="operator">=</span> <span class="val-int">5</span>;<br />
&emsp;&emsp;&emsp;&emsp;<span class="kword kword-return">return</span> <span class="val-int">0</span>;<br />
<div class="c2h-code">
<div class="c2h-code-inner">
<span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier c2h-fdeclname">main</span>() {<br />
&emsp;&emsp;&emsp;&emsp;<span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier">a</span> <span class="c2h-operator">=</span> <span class="c2h-val-int">5</span>;<br />
&emsp;&emsp;&emsp;&emsp;<span class="c2h-kword c2h-kword-return">return</span> <span class="c2h-val-int">0</span>;<br />
}<br />
</div>
</div>
```
If `table_mode` were `1`, then the output would have been:
```
<div class="code">
<div class="code-inner">
<div class="c2h-code">
<div class="c2h-code-inner">
<table>
<tr><td>1</td><td><span class="kword kword-int">int</span> <span class="identifier fdeclname">main</span>() {</td></tr>
<tr><td>2</td><td>&emsp;&emsp;<span class="kword kword-int">int</span> <span class="identifier">a</span> <span class="operator">=</span> <span class="val-int">5</span>;</td></tr>
<tr><td>3</td><td>&emsp;&emsp;<span class="kword kword-return">return</span> <span class="val-int">0</span>;</td></tr>
<tr><td>1</td><td><span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier c2h-fdeclname">main</span>() {</td></tr>
<tr><td>2</td><td>&emsp;&emsp;<span class="c2h-kword c2h-kword-int">int</span> <span class="c2h-identifier">a</span> <span class="c2h-operator">=</span> <span class="c2h-val-int">5</span>;</td></tr>
<tr><td>3</td><td>&emsp;&emsp;<span class="c2h-kword c2h-kword-return">return</span> <span class="c2h-val-int">0</span>;</td></tr>
<tr><td>4</td><td>}</td></tr>
<tr><td>5</td><td></td></tr>
</table>
+22 -6
View File
@@ -350,7 +350,12 @@ static void print_escaped(buff_t *buff, const char *str, long len)
long off = j;
while(j < len && str[j] != '<' && str[j] != '>')
while(j < len
&& str[j] != '<'
&& str[j] != '>'
&& str[j] != ' '
&& str[j] != '\n'
&& str[j] != '\t')
j += 1;
long end = j;
@@ -359,11 +364,22 @@ static void print_escaped(buff_t *buff, const char *str, long len)
if(j == len)
break;
assert(str[j] == '<' || str[j] == '>');
if(str[j] == '<')
buff_printf(buff, "&lt;");
else
buff_printf(buff, "&gt;");
switch(str[j]) {
case '<': buff_printf(buff, "&lt;"); break;
case '>': buff_printf(buff, "&gt;"); break;
case '\n': buff_printf(buff, "<br />"); break;
case '\t': buff_printf(&buff, "&emsp;&emsp;&emsp;&emsp;"); break;
case ' ':
if(j == 0 || str[j-1] != ' ')
buff_printf(buff, " ");
else
buff_printf(buff, "&emsp;");
break;
default: assert(0);
}
j += 1;
}
}