about summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cgit.h6
-rw-r--r--parsing.c1
-rw-r--r--shared.c2
-rw-r--r--ui-shared.c2
4 files changed, 10 insertions, 1 deletions
diff --git a/cgit.h b/cgit.h
index 163f355..6c7a941 100644
--- a/cgit.h
+++ b/cgit.h
@@ -48,6 +48,11 @@
 #define TM_MONTH (TM_YEAR / 12.0)
 
 
+/*
+ * Default encoding
+ */
+#define PAGE_ENCODING "UTF-8"
+
 typedef void (*configfn)(const char *name, const char *value);
 typedef void (*filepair_fn)(struct diff_filepair *pair);
 typedef void (*linediff_fn)(char *line, int len);
@@ -90,6 +95,7 @@ struct commitinfo {
 	unsigned long committer_date;
 	char *subject;
 	char *msg;
+	char *msg_encoding;
 };
 
 struct taginfo {
diff --git a/parsing.c b/parsing.c
index 30e7648..0412a9c 100644
--- a/parsing.c
+++ b/parsing.c
@@ -199,6 +199,7 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
 	ret->committer_email = NULL;
 	ret->subject = NULL;
 	ret->msg = NULL;
+	ret->msg_encoding = NULL;
 
 	if (p == NULL)
 		return ret;
diff --git a/shared.c b/shared.c
index e06df91..a04c4dc 100644
--- a/shared.c
+++ b/shared.c
@@ -265,6 +265,8 @@ void *cgit_free_commitinfo(struct commitinfo *info)
 	free(info->committer);
 	free(info->committer_email);
 	free(info->subject);
+	free(info->msg);
+	free(info->msg_encoding);
 	free(info);
 	return NULL;
 }
diff --git a/ui-shared.c b/ui-shared.c
index 72a7b44..7c69f60 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -352,7 +352,7 @@ void cgit_print_age(time_t t, time_t max_relative, char *format)
 
 void cgit_print_docstart(char *title, struct cacheitem *item)
 {
-	html("Content-Type: text/html; charset=utf-8\n");
+	html("Content-Type: text/html; charset=" PAGE_ENCODING "\n");
 	htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime));
 	htmlf("Expires: %s\n", http_date(item->st.st_mtime +
 					 ttl_seconds(item->ttl)));