summaryrefslogtreecommitdiff
path: root/pretty.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2014-06-10 21:39:30 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-06-12 17:29:43 (GMT)
commitb000c59b0c80fc187e5e0e48dc9396cd60576c4e (patch)
treeeceae4f00fdd8ddc384ec7d04739686e7b3ea4e1 /pretty.c
parent10322a0aaf84382d8901f9ab59e59c39f0c035bb (diff)
downloadgit-b000c59b0c80fc187e5e0e48dc9396cd60576c4e.zip
git-b000c59b0c80fc187e5e0e48dc9396cd60576c4e.tar.gz
git-b000c59b0c80fc187e5e0e48dc9396cd60576c4e.tar.bz2
logmsg_reencode: return const buffer
The return value from logmsg_reencode may be either a newly allocated buffer or a pointer to the existing commit->buffer. We would not want the caller to accidentally free() or modify the latter, so let's mark it as const. We can cast away the constness in logmsg_free, but only once we have determined that it is a free-able buffer. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pretty.c')
-rw-r--r--pretty.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/pretty.c b/pretty.c
index 3c43db5..85b0bb3 100644
--- a/pretty.c
+++ b/pretty.c
@@ -606,9 +606,9 @@ static char *replace_encoding_header(char *buf, const char *encoding)
return strbuf_detach(&tmp, NULL);
}
-char *logmsg_reencode(const struct commit *commit,
- char **commit_encoding,
- const char *output_encoding)
+const char *logmsg_reencode(const struct commit *commit,
+ char **commit_encoding,
+ const char *output_encoding)
{
static const char *utf8 = "UTF-8";
const char *use_encoding;
@@ -687,10 +687,10 @@ char *logmsg_reencode(const struct commit *commit,
return out ? out : msg;
}
-void logmsg_free(char *msg, const struct commit *commit)
+void logmsg_free(const char *msg, const struct commit *commit)
{
if (msg != commit->buffer)
- free(msg);
+ free((void *)msg);
}
static int mailmap_name(const char **email, size_t *email_len,
@@ -796,7 +796,7 @@ struct format_commit_context {
struct signature_check signature_check;
enum flush_type flush_type;
enum trunc_type truncate;
- char *message;
+ const char *message;
char *commit_encoding;
size_t width, indent1, indent2;
int auto_color;
@@ -1700,7 +1700,7 @@ void pretty_print_commit(struct pretty_print_context *pp,
unsigned long beginning_of_body;
int indent = 4;
const char *msg;
- char *reencoded;
+ const char *reencoded;
const char *encoding;
int need_8bit_cte = pp->need_8bit_cte;