summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile5
-rw-r--r--cgit.css11
-rw-r--r--cgit.h7
-rw-r--r--parsing.c25
-rw-r--r--shared.c2
-rw-r--r--ui-log.c21
-rw-r--r--ui-shared.c2
7 files changed, 55 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 27e966d..685e662 100644
--- a/Makefile
+++ b/Makefile
@@ -21,2 +21,7 @@ OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \
21 21
22ifdef NEEDS_LIBICONV
23 EXTLIBS += -liconv
24endif
25
26
22.PHONY: all git install clean distclean emptycache force-version get-git 27.PHONY: all git install clean distclean emptycache force-version get-git
diff --git a/cgit.css b/cgit.css
index 1b2e9d6..f1003b4 100644
--- a/cgit.css
+++ b/cgit.css
@@ -111,3 +111,3 @@ div#sidebar div.infobox {
111div#sidebar div.infobox h1 { 111div#sidebar div.infobox h1 {
112 font-size: 11pt; 112 font-size: 10pt;
113 font-weight: bold; 113 font-weight: bold;
@@ -130,6 +130,3 @@ div#sidebar div.infobox select {
130 width: 100%; 130 width: 100%;
131 border: solid 1px #aaa;
132 background-color: #bbb;
133 margin: 2px 0px 0px 0px; 131 margin: 2px 0px 0px 0px;
134 padding: 0px;
135} 132}
@@ -142,6 +139,3 @@ input#switch-btn {
142 width: 20px; 139 width: 20px;
143 border: solid 1px #aaa;
144 background-color: #bbb;
145 margin: 2px 0px 0px 0px; 140 margin: 2px 0px 0px 0px;
146 padding: 0px;
147} 141}
@@ -150,6 +144,3 @@ div#sidebar div.infobox input.txt {
150 width: 100%; 144 width: 100%;
151 border: solid 1px #aaa;
152 background-color: #bbb;
153 margin: 2px 0px 0px 0px; 145 margin: 2px 0px 0px 0px;
154 padding: 0;
155} 146}
diff --git a/cgit.h b/cgit.h
index 163f355..6291c58 100644
--- a/cgit.h
+++ b/cgit.h
@@ -18,2 +18,3 @@
18#include <xdiff/xdiff.h> 18#include <xdiff/xdiff.h>
19#include <utf8.h>
19 20
@@ -50,2 +51,7 @@
50 51
52/*
53 * Default encoding
54 */
55#define PAGE_ENCODING "UTF-8"
56
51typedef void (*configfn)(const char *name, const char *value); 57typedef void (*configfn)(const char *name, const char *value);
@@ -92,2 +98,3 @@ struct commitinfo {
92 char *msg; 98 char *msg;
99 char *msg_encoding;
93}; 100};
diff --git a/parsing.c b/parsing.c
index 30e7648..e8c7ab9 100644
--- a/parsing.c
+++ b/parsing.c
@@ -201,2 +201,3 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
201 ret->msg = NULL; 201 ret->msg = NULL;
202 ret->msg_encoding = NULL;
202 203
@@ -235,2 +236,10 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
235 236
237 if (!strncmp(p, "encoding ", 9)) {
238 p += 9;
239 t = strchr(p, '\n') + 1;
240 ret->msg_encoding = substr(p, t);
241 p = t;
242 } else
243 ret->msg_encoding = xstrdup(PAGE_ENCODING);
244
236 while (*p && (*p != '\n')) 245 while (*p && (*p != '\n'))
@@ -255,2 +264,18 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
255 264
265 if(strcmp(ret->msg_encoding, PAGE_ENCODING)) {
266 t = reencode_string(ret->subject, PAGE_ENCODING,
267 ret->msg_encoding);
268 if(t) {
269 free(ret->subject);
270 ret->subject = t;
271 }
272
273 t = reencode_string(ret->msg, PAGE_ENCODING,
274 ret->msg_encoding);
275 if(t) {
276 free(ret->msg);
277 ret->msg = t;
278 }
279 }
280
256 return ret; 281 return ret;
diff --git a/shared.c b/shared.c
index 6117f5c..8cb4808 100644
--- a/shared.c
+++ b/shared.c
@@ -269,2 +269,4 @@ void *cgit_free_commitinfo(struct commitinfo *info)
269 free(info->subject); 269 free(info->subject);
270 free(info->msg);
271 free(info->msg_encoding);
270 free(info); 272 free(info);
diff --git a/ui-log.c b/ui-log.c
index 9f5fdf6..e5f3c57 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -10,3 +10,3 @@
10 10
11int files, lines; 11int files, add_lines, rem_lines;
12 12
@@ -14,4 +14,10 @@ void count_lines(char *line, int size)
14{ 14{
15 if (size>0 && (line[0] == '+' || line[0] == '-')) 15 if (size <= 0)
16 lines++; 16 return;
17
18 if (line[0] == '+')
19 add_lines++;
20
21 else if (line[0] == '-')
22 rem_lines++;
17} 23}
@@ -37,3 +43,4 @@ void print_commit(struct commit *commit)
37 files = 0; 43 files = 0;
38 lines = 0; 44 add_lines = 0;
45 rem_lines = 0;
39 cgit_diff_commit(commit, inspect_files); 46 cgit_diff_commit(commit, inspect_files);
@@ -43,3 +50,3 @@ void print_commit(struct commit *commit)
43 html("</td><td class='right'>"); 50 html("</td><td class='right'>");
44 htmlf("%d", lines); 51 htmlf("-%d/+%d", rem_lines, add_lines);
45 } 52 }
@@ -90,5 +97,5 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
90 if (cgit_repo->enable_log_filecount) { 97 if (cgit_repo->enable_log_filecount) {
91 html("<th class='left'>Files</th>"); 98 html("<th class='right'>Files</th>");
92 if (cgit_repo->enable_log_linecount) 99 if (cgit_repo->enable_log_linecount)
93 html("<th class='left'>Lines</th>"); 100 html("<th class='right'>Lines</th>");
94 } 101 }
diff --git a/ui-shared.c b/ui-shared.c
index 72a7b44..7c69f60 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -354,3 +354,3 @@ void cgit_print_docstart(char *title, struct cacheitem *item)
354{ 354{
355 html("Content-Type: text/html; charset=utf-8\n"); 355 html("Content-Type: text/html; charset=" PAGE_ENCODING "\n");
356 htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); 356 htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime));