[PATCH 3/8] Skip forbidden characters.
John Keeping
john at keeping.me.uk
Tue Jul 1 22:29:03 CEST 2014
On Tue, Jul 01, 2014 at 09:40:28AM +0200, zwinkau at kit.edu wrote:
> From: Sebastian Buchwald <Sebastian.Buchwald at kit.edu>
Why do we want to do this? Does it not break anything that uses
whitespace="pre" (explicitly or implicitly)?
> ---
> html.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/html.c b/html.c
> index 91047ad..6037eec 100644
> --- a/html.c
> +++ b/html.c
> @@ -129,7 +129,8 @@ void html_txt(const char *txt)
> const char *t = txt;
> while (t && *t) {
> int c = *t;
> - if (c == '<' || c == '>' || c == '&') {
> + if ((c < 0x20 && c != '\t' && c != '\n' && c != '\r')
> + || (c == '<' || c == '>' || c == '&')) {
> html_raw(txt, t - txt);
> if (c == '>')
> html(">");
> @@ -150,7 +151,8 @@ void html_ntxt(int len, const char *txt)
> const char *t = txt;
> while (t && *t && len--) {
> int c = *t;
> - if (c == '<' || c == '>' || c == '&') {
> + if ((c < 0x20 && c != '\t' && c != '\n' && c != '\r')
> + || (c == '<' || c == '>' || c == '&')) {
> html_raw(txt, t - txt);
> if (c == '>')
> html(">");
> @@ -186,7 +188,8 @@ void html_attr(const char *txt)
> const char *t = txt;
> while (t && *t) {
> int c = *t;
> - if (c == '<' || c == '>' || c == '\'' || c == '\"' || c == '&') {
> + if (c == '<' || c == '>' || c == '\'' || c == '\"' || c == '&'
> + || (c < 0x20 && c != '\t' && c != '\n' && c != '\r')) {
> html_raw(txt, t - txt);
> if (c == '>')
> html(">");
More information about the CGit
mailing list