General const correctness fixes
We shouldn't attempt to assign constant strings into char*, as the
string is not writable at runtime. Likewise we should always be
treating unsigned values as unsigned values, not as signed values.
Most of these are very straightforward. The only exception is the
(unnecessary) xstrdup/free in builtin-branch.c for the detached
head case. Since this is a user-level interactive type program
and that particular code path is executed no more than once, I feel
that the extra xstrdup call is well worth the easy elimination of
this warning.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
index 766a37e..f54e875 100644
--- a/builtin-mailinfo.c
+++ b/builtin-mailinfo.c
@@ -545,10 +545,10 @@
return 0;
}
-static void convert_to_utf8(char *line, char *charset)
+static void convert_to_utf8(char *line, const char *charset)
{
- static char latin_one[] = "latin1";
- char *input_charset = *charset ? charset : latin_one;
+ static const char latin_one[] = "latin1";
+ const char *input_charset = *charset ? charset : latin_one;
char *out = reencode_string(line, metainfo_charset, input_charset);
if (!out)