|
diff --git a/html.c b/html.c index eaabf72..1305910 100644 --- a/ html.c+++ b/ html.c |
|
@@ -94,9 +94,9 @@ void html_txt(const char *txt) |
94 | const char *t = txt; |
94 | const char *t = txt; |
95 | while(t && *t){ |
95 | while(t && *t){ |
96 | int c = *t; |
96 | int c = *t; |
97 | if (c=='<' || c=='>' || c=='&') { |
97 | if (c=='<' || c=='>' || c=='&') { |
98 | write(htmlfd, txt, t - txt); |
98 | html_raw(txt, t - txt); |
99 | if (c=='>') |
99 | if (c=='>') |
100 | html(">"); |
100 | html(">"); |
101 | else if (c=='<') |
101 | else if (c=='<') |
102 | html("<"); |
102 | html("<"); |
@@ -115,9 +115,9 @@ void html_ntxt(int len, const char *txt) |
115 | const char *t = txt; |
115 | const char *t = txt; |
116 | while(t && *t && len--){ |
116 | while(t && *t && len--){ |
117 | int c = *t; |
117 | int c = *t; |
118 | if (c=='<' || c=='>' || c=='&') { |
118 | if (c=='<' || c=='>' || c=='&') { |
119 | write(htmlfd, txt, t - txt); |
119 | html_raw(txt, t - txt); |
120 | if (c=='>') |
120 | if (c=='>') |
121 | html(">"); |
121 | html(">"); |
122 | else if (c=='<') |
122 | else if (c=='<') |
123 | html("<"); |
123 | html("<"); |
@@ -127,9 +127,9 @@ void html_ntxt(int len, const char *txt) |
127 | } |
127 | } |
128 | t++; |
128 | t++; |
129 | } |
129 | } |
130 | if (t!=txt) |
130 | if (t!=txt) |
131 | write(htmlfd, txt, t - txt); |
131 | html_raw(txt, t - txt); |
132 | if (len<0) |
132 | if (len<0) |
133 | html("..."); |
133 | html("..."); |
134 | } |
134 | } |
135 | |
135 | |
@@ -138,9 +138,9 @@ void html_attr(const char *txt) |
138 | const char *t = txt; |
138 | const char *t = txt; |
139 | while(t && *t){ |
139 | while(t && *t){ |
140 | int c = *t; |
140 | int c = *t; |
141 | if (c=='<' || c=='>' || c=='\'' || c=='\"') { |
141 | if (c=='<' || c=='>' || c=='\'' || c=='\"') { |
142 | write(htmlfd, txt, t - txt); |
142 | html_raw(txt, t - txt); |
143 | if (c=='>') |
143 | if (c=='>') |
144 | html(">"); |
144 | html(">"); |
145 | else if (c=='<') |
145 | else if (c=='<') |
146 | html("<"); |
146 | html("<"); |
@@ -162,10 +162,10 @@ void html_url_path(const char *txt) |
162 | while(t && *t){ |
162 | while(t && *t){ |
163 | int c = *t; |
163 | int c = *t; |
164 | const char *e = url_escape_table[c]; |
164 | const char *e = url_escape_table[c]; |
165 | if (e && c!='+' && c!='&' && c!='+') { |
165 | if (e && c!='+' && c!='&' && c!='+') { |
166 | write(htmlfd, txt, t - txt); |
166 | html_raw(txt, t - txt); |
167 | write(htmlfd, e, 3); |
167 | html_raw(e, 3); |
168 | txt = t+1; |
168 | txt = t+1; |
169 | } |
169 | } |
170 | t++; |
170 | t++; |
171 | } |
171 | } |
@@ -179,10 +179,10 @@ void html_url_arg(const char *txt) |
179 | while(t && *t){ |
179 | while(t && *t){ |
180 | int c = *t; |
180 | int c = *t; |
181 | const char *e = url_escape_table[c]; |
181 | const char *e = url_escape_table[c]; |
182 | if (e) { |
182 | if (e) { |
183 | write(htmlfd, txt, t - txt); |
183 | html_raw(txt, t - txt); |
184 | write(htmlfd, e, 3); |
184 | html_raw(e, 3); |
185 | txt = t+1; |
185 | txt = t+1; |
186 | } |
186 | } |
187 | t++; |
187 | t++; |
188 | } |
188 | } |
@@ -248,9 +248,9 @@ int html_include(const char *filename) |
248 | filename, strerror(errno), errno); |
248 | filename, strerror(errno), errno); |
249 | return -1; |
249 | return -1; |
250 | } |
250 | } |
251 | while((len = fread(buf, 1, 4096, f)) > 0) |
251 | while((len = fread(buf, 1, 4096, f)) > 0) |
252 | write(htmlfd, buf, len); |
252 | html_raw(buf, len); |
253 | fclose(f); |
253 | fclose(f); |
254 | return 0; |
254 | return 0; |
255 | } |
255 | } |
256 | |
256 | |
|
|
diff --git a/ui-blob.c b/ui-blob.c index 667a451..ec435e1 100644 --- a/ ui-blob.c+++ b/ ui-blob.c |
|
@@ -51,9 +51,9 @@ int cgit_print_file(char *path, const char *head) |
51 | buf = read_sha1_file(sha1, &type, &size); |
51 | buf = read_sha1_file(sha1, &type, &size); |
52 | if (!buf) |
52 | if (!buf) |
53 | return -1; |
53 | return -1; |
54 | buf[size] = '\0'; |
54 | buf[size] = '\0'; |
55 | write(htmlfd, buf, size); |
55 | html_raw(buf, size); |
56 | return 0; |
56 | return 0; |
57 | } |
57 | } |
58 | |
58 | |
59 | void cgit_print_blob(const char *hex, char *path, const char *head) |
59 | void cgit_print_blob(const char *hex, char *path, const char *head) |
@@ -107,6 +107,6 @@ void cgit_print_blob(const char *hex, char *path, const char *head) |
107 | ctx.page.mimetype = "text/plain"; |
107 | ctx.page.mimetype = "text/plain"; |
108 | } |
108 | } |
109 | ctx.page.filename = path; |
109 | ctx.page.filename = path; |
110 | cgit_print_http_headers(&ctx); |
110 | cgit_print_http_headers(&ctx); |
111 | write(htmlfd, buf, size); |
111 | html_raw(buf, size); |
112 | } |
112 | } |
|
|
diff --git a/ui-tree.c b/ui-tree.c index 0cdbf6d..0b1b531 100644 --- a/ ui-tree.c+++ b/ ui-tree.c |
|
@@ -45,9 +45,9 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size) |
45 | if (ctx.repo->source_filter) { |
45 | if (ctx.repo->source_filter) { |
46 | html("<td class='lines'><pre><code>"); |
46 | html("<td class='lines'><pre><code>"); |
47 | ctx.repo->source_filter->argv[1] = xstrdup(name); |
47 | ctx.repo->source_filter->argv[1] = xstrdup(name); |
48 | cgit_open_filter(ctx.repo->source_filter); |
48 | cgit_open_filter(ctx.repo->source_filter); |
49 | write(STDOUT_FILENO, buf, size); |
49 | html_raw(buf, size); |
50 | cgit_close_filter(ctx.repo->source_filter); |
50 | cgit_close_filter(ctx.repo->source_filter); |
51 | html("</code></pre></td></tr></table>\n"); |
51 | html("</code></pre></td></tr></table>\n"); |
52 | return; |
52 | return; |
53 | } |
53 | } |
|