[PATCH v2 02/22] Mark char* fields in struct cgit_page as const

John Keeping john at keeping.me.uk
Sun Apr 7 16:26:31 CEST 2013


Signed-off-by: John Keeping <john at keeping.me.uk>
---
 cgit.h     | 12 ++++++------
 ui-plain.c |  3 ++-
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/cgit.h b/cgit.h
index fc3fc6f..7581cc1 100644
--- a/cgit.h
+++ b/cgit.h
@@ -245,13 +245,13 @@ struct cgit_page {
 	time_t modified;
 	time_t expires;
 	size_t size;
-	char *mimetype;
-	char *charset;
-	char *filename;
-	char *etag;
-	char *title;
+	const char *mimetype;
+	const char *charset;
+	const char *filename;
+	const char *etag;
+	const char *title;
 	int status;
-	char *statusmsg;
+	const char *statusmsg;
 };
 
 struct cgit_environment {
diff --git a/ui-plain.c b/ui-plain.c
index 4397a59..482d53a 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -100,8 +100,9 @@ static int print_object(const unsigned char *sha1, const char *path)
 	ctx.page.etag = sha1_to_hex(sha1);
 	cgit_print_http_headers(&ctx);
 	html_raw(buf, size);
+	/* If we allocated this, then casting away const is safe. */
 	if (freemime)
-		free(ctx.page.mimetype);
+		free((char*) ctx.page.mimetype);
 	return 1;
 }
 
-- 
1.8.2.692.g17a9715





More information about the CGit mailing list