{"thread":{"id":"33102","subject":"[PATCH] line-log: Fix sparse warnings","startedAt":"2013-03-07T18:27:24Z","lastAt":"2013-03-07T18:27:24Z","messageCount":1,"participants":["Ramsay Jones"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"210780","messageId":"5138DC0C.80508@ramsay1.demon.co.uk","threadId":"33102","inReplyTo":null,"subject":"[PATCH] line-log: Fix sparse warnings","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsay1.demon.co.uk","sentAt":"2013-03-07T18:27:24Z","receivedAt":"2013-03-07T18:27:24Z","isPatch":true,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"\nSparse issues the following warnings:\n\n    line-log.c:17:6: warning: symbol 'range_set_grow' was not declared. Should it be static?\n    line-log.c:25:6: warning: symbol 'range_set_init' was not declared. Should it be static?\n    line-log.c:33:6: warning: symbol 'range_set_release' was not declared. Should it be static?\n    line-log.c:41:6: warning: symbol 'range_set_copy' was not declared. Should it be static?\n    line-log.c:47:6: warning: symbol 'range_set_move' was not declared. Should it be static?\n    line-log.c:58:6: warning: symbol 'range_set_append' was not declared. Should it be static?\n    line-log.c:299:46: warning: Using plain integer as NULL pointer\n    line-log.c:444:12: warning: symbol 'parse_loc' was not declared. Should it be static?\n    line-log.c:681:49: warning: Using plain integer as NULL pointer\n    line-log.c:684:58: warning: Using plain integer as NULL pointer\n    builtin/log.c:120:57: warning: Using plain integer as NULL pointer\n    builtin/log.c:120:60: warning: Using plain integer as NULL pointer\n\nIn order to suppress the \"... was not declared\" warnings, we simply\nadd the static modifier to the declarations of those symbols, since\nthey do not need more than file scope.\n\nIn order to suppress the \"NULL pointer\" warnings, we simply replace\nthe use of the integer constant zero as a representation of the null\npointer with the NULL symbol.\n\nSigned-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>\n---\n\nHi Thomas,\n\nIf you need to re-roll the patches in your 'tr/line-log' branch, could\nyou please squash these changes in. [Note that this patch applies to the\ntip of the pu branch ;-) ]\n\nAlso, I noticed some things in passing, viz:\n\n   971\tstatic void load_tree_desc(struct tree_desc *desc, void **tree,\n   972\t\t\tconst unsigned char *sha1)\n   973\t{\n   974\t\tunsigned long size;\n   975\t\t*tree = read_object_with_reference(sha1, tree_type, &size, NULL);\n   976\t\tif (!tree)\n   977\t\t\tdie(\"Unable to read tree (%s)\", sha1_to_hex(sha1));\n   978\t\tinit_tree_desc(desc, *tree, size);\n   979\t}\n\nThe die() on line 977 will never trigger, since (given that !tree\nholds) we will already have dumped core on line 975! ;-)\n\n  1401\tint line_log_filter(struct rev_info *rev)\n  1402\t{\n  1403\t\tstruct commit *commit;\n  1404\t\tstruct commit_list *list = rev->commits;\n  1405\t\tstruct commit_list *out = NULL, *cur = NULL;\n  1406\n  1407\t\tlist = rev->commits;\n  1408\t\twhile (list) {\n\nNote that the assignment on line 1407 is redundant and can be\nremoved; list has been initialized to the same value in it's\ndeclaration on line 1404.\n\nHTH\n\nATB,\nRamsay Jones\n\n builtin/log.c |  2 +-\n line-log.c    | 20 ++++++++++----------\n 2 files changed, 11 insertions(+), 11 deletions(-)\n\ndiff --git a/builtin/log.c b/builtin/log.c\nindex c5d2313..a551d8d 100644\n--- a/builtin/log.c\n+++ b/builtin/log.c\n@@ -117,7 +117,7 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,\n {\n \tstruct userformat_want w;\n \tint quiet = 0, source = 0, mailmap = 0;\n-\tstatic struct line_opt_callback_data line_cb = {0, 0, STRING_LIST_INIT_DUP};\n+\tstatic struct line_opt_callback_data line_cb = {NULL, NULL, STRING_LIST_INIT_DUP};\n \n \tconst struct option builtin_log_options[] = {\n \t\tOPT_BOOLEAN(0, \"quiet\", &quiet, N_(\"suppress diff output\")),\ndiff --git a/line-log.c b/line-log.c\nindex a74bbaf..4d01798 100644\n--- a/line-log.c\n+++ b/line-log.c\n@@ -14,7 +14,7 @@\n #include \"userdiff.h\"\n #include \"line-log.h\"\n \n-void range_set_grow (struct range_set *rs, size_t extra)\n+static void range_set_grow (struct range_set *rs, size_t extra)\n {\n \tALLOC_GROW(rs->ranges, rs->nr + extra, rs->alloc);\n }\n@@ -22,7 +22,7 @@ void range_set_grow (struct range_set *rs, size_t extra)\n /* Either initialization would be fine */\n #define RANGE_SET_INIT {0}\n \n-void range_set_init (struct range_set *rs, size_t prealloc)\n+static void range_set_init (struct range_set *rs, size_t prealloc)\n {\n \trs->alloc = rs->nr = 0;\n \trs->ranges = NULL;\n@@ -30,7 +30,7 @@ void range_set_init (struct range_set *rs, size_t prealloc)\n \t\trange_set_grow(rs, prealloc);\n }\n \n-void range_set_release (struct range_set *rs)\n+static void range_set_release (struct range_set *rs)\n {\n \tfree(rs->ranges);\n \trs->alloc = rs->nr = 0;\n@@ -38,13 +38,13 @@ void range_set_release (struct range_set *rs)\n }\n \n /* dst must be uninitialized! */\n-void range_set_copy (struct range_set *dst, struct range_set *src)\n+static void range_set_copy (struct range_set *dst, struct range_set *src)\n {\n \trange_set_init(dst, src->nr);\n \tmemcpy(dst->ranges, src->ranges, src->nr*sizeof(struct range_set));\n \tdst->nr = src->nr;\n }\n-void range_set_move (struct range_set *dst, struct range_set *src)\n+static void range_set_move (struct range_set *dst, struct range_set *src)\n {\n \trange_set_release(dst);\n \tdst->ranges = src->ranges;\n@@ -55,7 +55,7 @@ void range_set_move (struct range_set *dst, struct range_set *src)\n }\n \n /* tack on a _new_ range _at the end_ */\n-void range_set_append (struct range_set *rs, long a, long b)\n+static void range_set_append (struct range_set *rs, long a, long b)\n {\n \tassert(a <= b);\n \tassert(rs->nr == 0 || rs->ranges[rs->nr-1].end <= a);\n@@ -296,7 +296,7 @@ static int collect_diff_cb (long start_a, long count_a,\n \n static void collect_diff (mmfile_t *parent, mmfile_t *target, struct diff_ranges *out)\n {\n-\tstruct collect_diff_cbdata cbdata = {0};\n+\tstruct collect_diff_cbdata cbdata = {NULL};\n \txpparam_t xpp;\n \txdemitconf_t xecfg;\n \txdemitcb_t ecb;\n@@ -441,7 +441,7 @@ static void range_set_map_across_diff (struct range_set *out,\n /*\n  * Parse one item in the -L option\n  */\n-const char *parse_loc(const char *spec, nth_line_fn_t nth_line,\n+static const char *parse_loc(const char *spec, nth_line_fn_t nth_line,\n \t\tvoid *data, long lines, long begin, long *ret)\n {\n \tchar *term;\n@@ -678,10 +678,10 @@ const char *skip_range_arg(const char *arg)\n \tif (*arg == ':')\n \t\treturn parse_range_funcname(arg, NULL, NULL, 0, NULL, NULL, NULL);\n \n-\targ = parse_loc(arg, NULL, NULL, 0, -1, 0);\n+\targ = parse_loc(arg, NULL, NULL, 0, -1, NULL);\n \n \tif (*arg == ',')\n-\t\targ = parse_loc(arg+1, NULL, NULL, 0, 0, 0);\n+\t\targ = parse_loc(arg+1, NULL, NULL, 0, 0, NULL);\n \n \treturn arg;\n }\n-- \n1.8.1\n"}]}