all repos — cgit @ eacde43d7184452e1fdc90b982b531f1f5239923

a hyperfast web frontend for git written in c

Fix segfault

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Hiroki Hattori seagull.kamome@gmail.com
Sun, 24 Feb 2008 02:57:34 +0900
commit

eacde43d7184452e1fdc90b982b531f1f5239923

parent

b74cc91574a9284d2f6446fd2ef3df6298ed6992

1 files changed, 5 insertions(+), 15 deletions(-)

jump to
M html.chtml.c

@@ -48,9 +48,7 @@ char *t = txt;

while(t && *t){ int c = *t; if (c=='<' || c=='>' || c=='&') { - *t = '\0'; - html(txt); - *t = c; + write(htmlfd, txt, t - txt); if (c=='>') html("&gt;"); else if (c=='<')

@@ -71,9 +69,7 @@ char *t = txt;

while(t && *t && len--){ int c = *t; if (c=='<' || c=='>' || c=='&') { - *t = '\0'; - html(txt); - *t = c; + write(htmlfd, txt, t - txt); if (c=='>') html("&gt;"); else if (c=='<')

@@ -84,12 +80,8 @@ txt = t+1;

} t++; } - if (t!=txt) { - char c = *t; - *t = '\0'; - html(txt); - *t = c; - } + if (t!=txt) + write(htmlfd, txt, t - txt); if (len<0) html("..."); }

@@ -100,9 +92,7 @@ char *t = txt;

while(t && *t){ int c = *t; if (c=='<' || c=='>' || c=='\'') { - *t = '\0'; - html(txt); - *t = c; + write(htmlfd, txt, t - txt); if (c=='>') html("&gt;"); else if (c=='<')