From eacde43d7184452e1fdc90b982b531f1f5239923 Mon Sep 17 00:00:00 2001 From: Hiroki Hattori Date: Sun, 24 Feb 2008 02:57:34 +0900 Subject: Fix segfault Signed-off-by: Lars Hjemli --- html.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'html.c') diff --git a/html.c b/html.c index 6c9cc8b..d531c20 100644 --- a/html.c +++ b/html.c @@ -48,9 +48,7 @@ void html_txt(char *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(">"); else if (c=='<') @@ -71,9 +69,7 @@ void html_ntxt(int len, char *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(">"); else if (c=='<') @@ -84,12 +80,8 @@ void html_ntxt(int len, char *txt) } 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 @@ void html_attr(char *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(">"); else if (c=='<') -- cgit v1.2.1