* [PATCH 1/2] Makefile: Cover more files with make check
@ 2011-03-21 9:45 Stephen Boyd
2011-03-21 9:45 ` [PATCH 2/2] Fix sparse warnings Stephen Boyd
2011-03-21 17:27 ` [PATCH 1/2] Makefile: Cover more files with make check Junio C Hamano
0 siblings, 2 replies; 13+ messages in thread
From: Stephen Boyd @ 2011-03-21 9:45 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano
After the builtin/ move 'make check' doesn't cover the builtin/
directory. We could just add builtin/*.c but lets just use GIT_OBJS
instead so we cover future movement of the source files.
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 654d8ac..97cd150 100644
--- a/Makefile
+++ b/Makefile
@@ -2176,7 +2176,7 @@ check-sha1:: test-sha1$X
check: common-cmds.h
if sparse; \
then \
- for i in *.c; \
+ for i in $(patsubst %.o, %.c, $(GIT_OBJS)); \
do \
sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || exit; \
done; \
--
1.7.4.1.343.ga91df
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2] Fix sparse warnings
2011-03-21 9:45 [PATCH 1/2] Makefile: Cover more files with make check Stephen Boyd
@ 2011-03-21 9:45 ` Stephen Boyd
2011-03-21 10:10 ` Johannes Sixt
2011-03-21 16:15 ` Junio C Hamano
2011-03-21 17:27 ` [PATCH 1/2] Makefile: Cover more files with make check Junio C Hamano
1 sibling, 2 replies; 13+ messages in thread
From: Stephen Boyd @ 2011-03-21 9:45 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano
Fix warnings from 'make check'.
diff.c:631:25: warning: symbol 'diff_words_styles' was not declared.
Should it be static?
notes-merge.c:362:73: warning: Using plain integer as NULL pointer
parse-options.c:564:6: error: symbol 'usage_with_options' redeclared
with different type (originally declared at parse-options.h:158) -
different modifiers
parse-options.c:571:6: error: symbol 'usage_msg_opt' redeclared with
different type (originally declared at parse-options.h:161) - different
modifiers
replace_object.c:92:21: warning: symbol 'lookup_replace_object' was not
declared. Should it be static?
submodule.c:12:20: warning: symbol 'config_name_for_path' was not
declared. Should it be static?
submodule.c:13:20: warning: symbol
'config_fetch_recurse_submodules_for_name' was not declared. Should it
be static?
submodule.c:14:20: warning: symbol 'config_ignore_for_name' was not
declared. Should it be static?
trace.c:78:6: warning: symbol 'trace_printf_key' was not declared.
Should it be static?
transport.c:195:29: warning: Using plain integer as NULL pointer
transport-helper.c:79:12: warning: symbol 'remove_ext_force' was not
declared. Should it be static?
unpack-trees.c:19:12: warning: symbol 'unpack_plumbing_errors' was not
declared. Should it be static?
url.c:3:5: warning: symbol 'is_urlschemechar' was not declared. Should
it be static?
url.c:18:5: warning: symbol 'is_url' was not declared. Should it be
static?
url.c:104:6: warning: symbol 'url_decode' was not declared. Should it be
static?
url.c:117:6: warning: symbol 'url_decode_parameter_name' was not
declared. Should it be static?
url.c:123:6: warning: symbol 'url_decode_parameter_value' was not
declared. Should it be static?
url.c:129:6: warning: symbol 'end_url_with_slash' was not declared.
Should it be static?
url.c:136:6: warning: symbol 'str_end_url_with_slash' was not declared.
Should it be static?
usage.c:49:6: error: symbol 'usagef' redeclared with different type
(originally declared at git-compat-util.h:239) - different modifiers
usage.c:58:6: error: symbol 'usage' redeclared with different type
(originally declared at git-compat-util.h:238) - different modifiers
usage.c:63:6: error: symbol 'die' redeclared with different type
(originally declared at git-compat-util.h:240) - different modifiers
usage.c:72:6: error: symbol 'die_errno' redeclared with different type
(originally declared at git-compat-util.h:241) - different modifiers
thread-utils.c:21:5: warning: symbol 'online_cpus' was not declared.
Should it be static?
thread-utils.c:48:5: warning: symbol 'init_recursive_mutex' was not
declared. Should it be static?
builtin/clone.c:364:5: warning: symbol 'cmd_clone' was not declared.
Should it be static?
builtin/fetch-pack.c:797:5: warning: symbol 'cmd_fetch_pack' was not
declared. Should it be static?
builtin/fmt-merge-msg.c:34:6: warning: symbol 'init_src_data' was not
declared. Should it be static?
builtin/hash-object.c:78:5: warning: symbol 'cmd_hash_object' was not
declared. Should it be static?
builtin/index-pack.c:210:13: error: symbol 'bad_object' redeclared with
different type (originally declared at builtin/index-pack.c:207) -
different modifiers
builtin/merge-index.c:69:5: warning: symbol 'cmd_merge_index' was not
declared. Should it be static?
builtin/merge-recursive.c:22:5: warning: symbol 'cmd_merge_recursive'
was not declared. Should it be static?
builtin/merge-tree.c:341:5: warning: symbol 'cmd_merge_tree' was not
declared. Should it be static?
builtin/mktag.c:156:5: warning: symbol 'cmd_mktag' was not declared.
Should it be static?
builtin/notes.c:426:5: warning: symbol 'notes_copy_from_stdin' was not
declared. Should it be static?
builtin/notes.c:822:64: warning: Using plain integer as NULL pointer
builtin/pack-redundant.c:596:5: warning: symbol 'cmd_pack_redundant' was
not declared. Should it be static?
builtin/pack-refs.c:10:5: warning: symbol 'cmd_pack_refs' was not
declared. Should it be static?
builtin/patch-id.c:60:5: warning: symbol 'get_one_patchid' was not
declared. Should it be static?
builtin/patch-id.c:149:5: warning: symbol 'cmd_patch_id' was not
declared. Should it be static?
builtin/remote.c:1512:5: warning: symbol 'cmd_remote' was not declared.
Should it be static?
builtin/remote-ext.c:240:5: warning: symbol 'cmd_remote_ext' was not
declared. Should it be static?
builtin/remote-fd.c:53:5: warning: symbol 'cmd_remote_fd' was not
declared. Should it be static?
builtin/reset.c:236:5: warning: symbol 'cmd_reset' was not declared.
Should it be static?
builtin/send-pack.c:384:5: warning: symbol 'cmd_send_pack' was not
declared. Should it be static?
builtin/unpack-file.c:25:5: warning: symbol 'cmd_unpack_file' was not
declared. Should it be static?
builtin/var.c:75:5: warning: symbol 'cmd_var' was not declared. Should
it be static?
daemon.c:663:38: warning: Using plain integer as NULL pointer
fast-import.c:2942:35: warning: Using plain integer as NULL pointer
imap-send.c:1072:48: warning: Using plain integer as NULL pointer
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
---
This is one mega-patch. I can split it into separate files if that's
desirable but I figured it was easier to avoid spamming the list
with a bunch of oneline patches. There are two trivial conflicts
in pu with this patch.
builtin/clone.c | 1 +
builtin/fetch-pack.c | 1 +
builtin/fmt-merge-msg.c | 2 +-
builtin/hash-object.c | 1 +
builtin/index-pack.c | 2 +-
builtin/merge-index.c | 1 +
builtin/merge-recursive.c | 1 +
builtin/merge-tree.c | 1 +
builtin/mktag.c | 1 +
builtin/notes.c | 4 ++--
builtin/pack-redundant.c | 1 +
builtin/pack-refs.c | 1 +
builtin/patch-id.c | 3 ++-
builtin/remote-ext.c | 1 +
builtin/remote-fd.c | 1 +
builtin/remote.c | 1 +
builtin/reset.c | 1 +
builtin/send-pack.c | 1 +
builtin/unpack-file.c | 1 +
builtin/var.c | 1 +
daemon.c | 2 +-
diff.c | 2 +-
fast-import.c | 2 +-
imap-send.c | 2 +-
notes-merge.c | 2 +-
parse-options.c | 4 ++--
replace_object.c | 1 +
submodule.c | 6 +++---
thread-utils.c | 1 +
trace.c | 2 +-
transport-helper.c | 2 +-
transport.c | 2 +-
unpack-trees.c | 2 +-
url.c | 1 +
usage.c | 8 ++++----
35 files changed, 43 insertions(+), 23 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c
index 02547ad..53ea012 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -23,6 +23,7 @@
#include "branch.h"
#include "remote.h"
#include "run-command.h"
+#include "builtin.h"
/*
* Overall FIXMEs:
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index 272bc38..9d1505c 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -9,6 +9,7 @@
#include "fetch-pack.h"
#include "remote.h"
#include "run-command.h"
+#include "builtin.h"
static int transfer_unpack_limit = -1;
static int fetch_unpack_limit = -1;
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c
index 5189b16..7581632 100644
--- a/builtin/fmt-merge-msg.c
+++ b/builtin/fmt-merge-msg.c
@@ -31,7 +31,7 @@ struct src_data {
int head_status;
};
-void init_src_data(struct src_data *data)
+static void init_src_data(struct src_data *data)
{
data->branch.strdup_strings = 1;
data->tag.strdup_strings = 1;
diff --git a/builtin/hash-object.c b/builtin/hash-object.c
index c90acdd..8cbbba9 100644
--- a/builtin/hash-object.c
+++ b/builtin/hash-object.c
@@ -9,6 +9,7 @@
#include "quote.h"
#include "parse-options.h"
#include "exec_cmd.h"
+#include "builtin.h"
static void hash_fd(int fd, const char *type, int write_object, const char *path)
{
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index c7e600d..5a67c81 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -207,7 +207,7 @@ static void parse_pack_header(void)
static NORETURN void bad_object(unsigned long offset, const char *format,
...) __attribute__((format (printf, 2, 3)));
-static void bad_object(unsigned long offset, const char *format, ...)
+static NORETURN void bad_object(unsigned long offset, const char *format, ...)
{
va_list params;
char buf[1024];
diff --git a/builtin/merge-index.c b/builtin/merge-index.c
index 2c4cf5e..634327c 100644
--- a/builtin/merge-index.c
+++ b/builtin/merge-index.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "run-command.h"
#include "exec_cmd.h"
+#include "builtin.h"
static const char *pgm;
static int one_shot, quiet;
diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c
index c33091b..f8ca00a 100644
--- a/builtin/merge-recursive.c
+++ b/builtin/merge-recursive.c
@@ -3,6 +3,7 @@
#include "tag.h"
#include "merge-recursive.h"
#include "xdiff-interface.h"
+#include "builtin.h"
static const char builtin_merge_recursive_usage[] =
"git %s <base>... -- <head> <remote> ...";
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index 9b25ddc..ad5afd2 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c
@@ -3,6 +3,7 @@
#include "xdiff-interface.h"
#include "blob.h"
#include "exec_cmd.h"
+#include "builtin.h"
static const char merge_tree_usage[] = "git merge-tree <base-tree> <branch1> <branch2>";
static int resolve_directories = 1;
diff --git a/builtin/mktag.c b/builtin/mktag.c
index 1cb0f3f..6132a43 100644
--- a/builtin/mktag.c
+++ b/builtin/mktag.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "tag.h"
#include "exec_cmd.h"
+#include "builtin.h"
/*
* A signature file has a very simple fixed format: four lines
diff --git a/builtin/notes.c b/builtin/notes.c
index 0aab150..a0f310b 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c
@@ -423,7 +423,7 @@ void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c)
free(c);
}
-int notes_copy_from_stdin(int force, const char *rewrite_cmd)
+static int notes_copy_from_stdin(int force, const char *rewrite_cmd)
{
struct strbuf buf = STRBUF_INIT;
struct notes_rewrite_cfg *c = NULL;
@@ -819,7 +819,7 @@ static int merge_commit(struct notes_merge_options *o)
t = xcalloc(1, sizeof(struct notes_tree));
init_notes(t, "NOTES_MERGE_PARTIAL", combine_notes_overwrite, 0);
- o->local_ref = resolve_ref("NOTES_MERGE_REF", sha1, 0, 0);
+ o->local_ref = resolve_ref("NOTES_MERGE_REF", sha1, 0, NULL);
if (!o->local_ref)
die("Failed to resolve NOTES_MERGE_REF");
diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
index 41e1615..8fcba68 100644
--- a/builtin/pack-redundant.c
+++ b/builtin/pack-redundant.c
@@ -8,6 +8,7 @@
#include "cache.h"
#include "exec_cmd.h"
+#include "builtin.h"
#define BLKSIZE 512
diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c
index 091860b..9b32efb 100644
--- a/builtin/pack-refs.c
+++ b/builtin/pack-refs.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "parse-options.h"
#include "pack-refs.h"
+#include "builtin.h"
static char const * const pack_refs_usage[] = {
"git pack-refs [options]",
diff --git a/builtin/patch-id.c b/builtin/patch-id.c
index 49a0472..d008960 100644
--- a/builtin/patch-id.c
+++ b/builtin/patch-id.c
@@ -1,5 +1,6 @@
#include "cache.h"
#include "exec_cmd.h"
+#include "builtin.h"
static void flush_current_id(int patchlen, unsigned char *id, git_SHA_CTX *c)
{
@@ -57,7 +58,7 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after)
return 1;
}
-int get_one_patchid(unsigned char *next_sha1, git_SHA_CTX *ctx)
+static int get_one_patchid(unsigned char *next_sha1, git_SHA_CTX *ctx)
{
static char line[1000];
int patchlen = 0, found_next = 0;
diff --git a/builtin/remote-ext.c b/builtin/remote-ext.c
index ea71977..6ebc26d 100644
--- a/builtin/remote-ext.c
+++ b/builtin/remote-ext.c
@@ -1,6 +1,7 @@
#include "git-compat-util.h"
#include "transport.h"
#include "run-command.h"
+#include "builtin.h"
/*
* URL syntax:
diff --git a/builtin/remote-fd.c b/builtin/remote-fd.c
index 1f2467b..bdecd3a 100644
--- a/builtin/remote-fd.c
+++ b/builtin/remote-fd.c
@@ -1,5 +1,6 @@
#include "git-compat-util.h"
#include "transport.h"
+#include "builtin.h"
/*
* URL syntax:
diff --git a/builtin/remote.c b/builtin/remote.c
index cb26080..6faec63 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -6,6 +6,7 @@
#include "strbuf.h"
#include "run-command.h"
#include "refs.h"
+#include "builtin.h"
static const char * const builtin_remote_usage[] = {
"git remote [-v | --verbose]",
diff --git a/builtin/reset.c b/builtin/reset.c
index 5de2bce..fdac49e 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -20,6 +20,7 @@
#include "parse-options.h"
#include "unpack-trees.h"
#include "cache-tree.h"
+#include "builtin.h"
static const char * const git_reset_usage[] = {
"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]",
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 2cd1c40..973ac66 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -8,6 +8,7 @@
#include "send-pack.h"
#include "quote.h"
#include "transport.h"
+#include "builtin.h"
static const char send_pack_usage[] =
"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]\n"
diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c
index 608590a..d3e962a 100644
--- a/builtin/unpack-file.c
+++ b/builtin/unpack-file.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "blob.h"
#include "exec_cmd.h"
+#include "builtin.h"
static char *create_temp_file(unsigned char *sha1)
{
diff --git a/builtin/var.c b/builtin/var.c
index 0744bb8..6173e0e 100644
--- a/builtin/var.c
+++ b/builtin/var.c
@@ -5,6 +5,7 @@
*/
#include "cache.h"
#include "exec_cmd.h"
+#include "builtin.h"
static const char var_usage[] = "git var (-l | <variable>)";
diff --git a/daemon.c b/daemon.c
index 347fd0c..4c8346d 100644
--- a/daemon.c
+++ b/daemon.c
@@ -660,7 +660,7 @@ static void check_dead_children(void)
static char **cld_argv;
static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
{
- struct child_process cld = { 0 };
+ struct child_process cld = { NULL };
char addrbuf[300] = "REMOTE_ADDR=", portbuf[300];
char *env[] = { addrbuf, portbuf, NULL };
diff --git a/diff.c b/diff.c
index 42a107c..9b3eb99 100644
--- a/diff.c
+++ b/diff.c
@@ -628,7 +628,7 @@ struct diff_words_style {
const char *newline;
};
-struct diff_words_style diff_words_styles[] = {
+static struct diff_words_style diff_words_styles[] = {
{ DIFF_WORDS_PORCELAIN, {"+", "\n"}, {"-", "\n"}, {" ", "\n"}, "~\n" },
{ DIFF_WORDS_PLAIN, {"{+", "+}"}, {"[-", "-]"}, {"", ""}, "\n" },
{ DIFF_WORDS_COLOR, {"", ""}, {"", ""}, {"", ""}, "\n" }
diff --git a/fast-import.c b/fast-import.c
index d9f9a3f..65d65bf 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2939,7 +2939,7 @@ static void parse_ls(struct branch *b)
{
const char *p;
struct tree_entry *root = NULL;
- struct tree_entry leaf = {0};
+ struct tree_entry leaf = {NULL};
/* ls SP (<treeish> SP)? <path> */
p = command_buf.buf + strlen("ls ");
diff --git a/imap-send.c b/imap-send.c
index 71506a8..9adf4b9 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -1069,7 +1069,7 @@ static struct store *imap_open_store(struct imap_server_conf *srvc)
if (srvc->tunnel) {
const char *argv[] = { srvc->tunnel, NULL };
- struct child_process tunnel = {0};
+ struct child_process tunnel = {NULL};
imap_info("Starting tunnel '%s'... ", srvc->tunnel);
diff --git a/notes-merge.c b/notes-merge.c
index 1467ad3..28046a9 100644
--- a/notes-merge.c
+++ b/notes-merge.c
@@ -359,7 +359,7 @@ static int ll_merge_in_worktree(struct notes_merge_options *o,
read_mmblob(&remote, p->remote);
status = ll_merge(&result_buf, sha1_to_hex(p->obj), &base, NULL,
- &local, o->local_ref, &remote, o->remote_ref, 0);
+ &local, o->local_ref, &remote, o->remote_ref, NULL);
free(base.ptr);
free(local.ptr);
diff --git a/parse-options.c b/parse-options.c
index 42b51ef..73bd28a 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -561,14 +561,14 @@ static int usage_with_options_internal(struct parse_opt_ctx_t *ctx,
return PARSE_OPT_HELP;
}
-void usage_with_options(const char * const *usagestr,
+void NORETURN usage_with_options(const char * const *usagestr,
const struct option *opts)
{
usage_with_options_internal(NULL, usagestr, opts, 0, 1);
exit(129);
}
-void usage_msg_opt(const char *msg,
+void NORETURN usage_msg_opt(const char *msg,
const char * const *usagestr,
const struct option *options)
{
diff --git a/replace_object.c b/replace_object.c
index eb59604..7c6c754 100644
--- a/replace_object.c
+++ b/replace_object.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "sha1-lookup.h"
#include "refs.h"
+#include "commit.h"
static struct replace_object {
unsigned char sha1[2][20];
diff --git a/submodule.c b/submodule.c
index e9f2b19..0cb6d18 100644
--- a/submodule.c
+++ b/submodule.c
@@ -9,9 +9,9 @@
#include "refs.h"
#include "string-list.h"
-struct string_list config_name_for_path;
-struct string_list config_fetch_recurse_submodules_for_name;
-struct string_list config_ignore_for_name;
+static struct string_list config_name_for_path;
+static struct string_list config_fetch_recurse_submodules_for_name;
+static struct string_list config_ignore_for_name;
static int config_fetch_recurse_submodules;
static int add_submodule_odb(const char *path)
diff --git a/thread-utils.c b/thread-utils.c
index 589f838..2c8c1e3 100644
--- a/thread-utils.c
+++ b/thread-utils.c
@@ -1,5 +1,6 @@
#include "cache.h"
#include <pthread.h>
+#include "thread-utils.h"
#if defined(hpux) || defined(__hpux) || defined(_hpux)
# include <sys/pstat.h>
diff --git a/trace.c b/trace.c
index 8390bf7..d953416 100644
--- a/trace.c
+++ b/trace.c
@@ -75,7 +75,7 @@ void trace_vprintf(const char *key, const char *fmt, va_list ap)
strbuf_release(&buf);
}
-void trace_printf_key(const char *key, const char *fmt, ...)
+static void trace_printf_key(const char *key, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
diff --git a/transport-helper.c b/transport-helper.c
index 0c5b1bd..5846b55 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -76,7 +76,7 @@ static void write_constant(int fd, const char *str)
die_errno("Full write to remote helper failed");
}
-const char *remove_ext_force(const char *url)
+static const char *remove_ext_force(const char *url)
{
if (url) {
const char *colon = strchr(url, ':');
diff --git a/transport.c b/transport.c
index 0078660..f1c0781 100644
--- a/transport.c
+++ b/transport.c
@@ -192,7 +192,7 @@ static const char *rsync_url(const char *url)
static struct ref *get_refs_via_rsync(struct transport *transport, int for_push)
{
struct strbuf buf = STRBUF_INIT, temp_dir = STRBUF_INIT;
- struct ref dummy = {0}, *tail = &dummy;
+ struct ref dummy = {NULL}, *tail = &dummy;
struct child_process rsync;
const char *args[5];
int temp_dir_len;
diff --git a/unpack-trees.c b/unpack-trees.c
index b68ec82..500ebcf 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -16,7 +16,7 @@
* situation better. See how "git checkout" and "git merge" replaces
* them using setup_unpack_trees_porcelain(), for example.
*/
-const char *unpack_plumbing_errors[NB_UNPACK_TREES_ERROR_TYPES] = {
+static const char *unpack_plumbing_errors[NB_UNPACK_TREES_ERROR_TYPES] = {
/* ERROR_WOULD_OVERWRITE */
"Entry '%s' would be overwritten by merge. Cannot merge.",
diff --git a/url.c b/url.c
index 6a54959..3e06fd3 100644
--- a/url.c
+++ b/url.c
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "url.h"
int is_urlschemechar(int first_flag, int ch)
{
diff --git a/usage.c b/usage.c
index ec4cf53..b5e67e3 100644
--- a/usage.c
+++ b/usage.c
@@ -46,7 +46,7 @@ void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list param
die_routine = routine;
}
-void usagef(const char *err, ...)
+void NORETURN usagef(const char *err, ...)
{
va_list params;
@@ -55,12 +55,12 @@ void usagef(const char *err, ...)
va_end(params);
}
-void usage(const char *err)
+void NORETURN usage(const char *err)
{
usagef("%s", err);
}
-void die(const char *err, ...)
+void NORETURN die(const char *err, ...)
{
va_list params;
@@ -69,7 +69,7 @@ void die(const char *err, ...)
va_end(params);
}
-void die_errno(const char *fmt, ...)
+void NORETURN die_errno(const char *fmt, ...)
{
va_list params;
char fmt_with_err[1024];
--
1.7.4.1.343.ga91df
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] Fix sparse warnings
2011-03-21 9:45 ` [PATCH 2/2] Fix sparse warnings Stephen Boyd
@ 2011-03-21 10:10 ` Johannes Sixt
2011-03-21 10:12 ` Stephen Boyd
2011-03-21 16:12 ` Junio C Hamano
2011-03-21 16:15 ` Junio C Hamano
1 sibling, 2 replies; 13+ messages in thread
From: Johannes Sixt @ 2011-03-21 10:10 UTC (permalink / raw)
To: Stephen Boyd; +Cc: git, Junio C Hamano
Am 3/21/2011 10:45, schrieb Stephen Boyd:
> diff --git a/daemon.c b/daemon.c
> index 347fd0c..4c8346d 100644
> --- a/daemon.c
> +++ b/daemon.c
> @@ -660,7 +660,7 @@ static void check_dead_children(void)
> static char **cld_argv;
> static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
> {
> - struct child_process cld = { 0 };
> + struct child_process cld = { NULL };
IMO this change is not good.
The purpose of { 0} is not to initialize (only) the first member, but
rather to serve as a visual marker that says "We want the complete struct
zero-initialized".
> diff --git a/fast-import.c b/fast-import.c
> index d9f9a3f..65d65bf 100644
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -2939,7 +2939,7 @@ static void parse_ls(struct branch *b)
> {
> const char *p;
> struct tree_entry *root = NULL;
> - struct tree_entry leaf = {0};
> + struct tree_entry leaf = {NULL};
Same here.
> diff --git a/imap-send.c b/imap-send.c
> index 71506a8..9adf4b9 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -1069,7 +1069,7 @@ static struct store *imap_open_store(struct imap_server_conf *srvc)
>
> if (srvc->tunnel) {
> const char *argv[] = { srvc->tunnel, NULL };
> - struct child_process tunnel = {0};
> + struct child_process tunnel = {NULL};
And here.
> diff --git a/transport.c b/transport.c
> index 0078660..f1c0781 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -192,7 +192,7 @@ static const char *rsync_url(const char *url)
> static struct ref *get_refs_via_rsync(struct transport *transport, int for_push)
> {
> struct strbuf buf = STRBUF_INIT, temp_dir = STRBUF_INIT;
> - struct ref dummy = {0}, *tail = &dummy;
> + struct ref dummy = {NULL}, *tail = &dummy;
And here.
-- Hannes
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] Fix sparse warnings
2011-03-21 10:10 ` Johannes Sixt
@ 2011-03-21 10:12 ` Stephen Boyd
2011-03-21 16:12 ` Junio C Hamano
1 sibling, 0 replies; 13+ messages in thread
From: Stephen Boyd @ 2011-03-21 10:12 UTC (permalink / raw)
To: Johannes Sixt; +Cc: git, Junio C Hamano
On 03/21/11 03:10, Johannes Sixt wrote:
> Am 3/21/2011 10:45, schrieb Stephen Boyd:
>> diff --git a/daemon.c b/daemon.c
>> index 347fd0c..4c8346d 100644
>> --- a/daemon.c
>> +++ b/daemon.c
>> @@ -660,7 +660,7 @@ static void check_dead_children(void)
>> static char **cld_argv;
>> static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
>> {
>> - struct child_process cld = { 0 };
>> + struct child_process cld = { NULL };
>
> IMO this change is not good.
>
> The purpose of { 0} is not to initialize (only) the first member, but
> rather to serve as a visual marker that says "We want the complete struct
> zero-initialized".
>
Sure that's fine. I was iffy on that change, but decided to try to
silence sparse as much as possible. I'm fine with dropping those hunks.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] Fix sparse warnings
2011-03-21 10:10 ` Johannes Sixt
2011-03-21 10:12 ` Stephen Boyd
@ 2011-03-21 16:12 ` Junio C Hamano
1 sibling, 0 replies; 13+ messages in thread
From: Junio C Hamano @ 2011-03-21 16:12 UTC (permalink / raw)
To: Johannes Sixt; +Cc: Stephen Boyd, git
Johannes Sixt <j.sixt@viscovery.net> writes:
> Am 3/21/2011 10:45, schrieb Stephen Boyd:
>> diff --git a/daemon.c b/daemon.c
>> index 347fd0c..4c8346d 100644
>> --- a/daemon.c
>> +++ b/daemon.c
>> @@ -660,7 +660,7 @@ static void check_dead_children(void)
>> static char **cld_argv;
>> static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
>> {
>> - struct child_process cld = { 0 };
>> + struct child_process cld = { NULL };
>
> IMO this change is not good.
>
> The purpose of { 0} is not to initialize (only) the first member, but
> rather to serve as a visual marker that says "We want the complete struct
> zero-initialized".
Huh? News to me.
The first element of type const char ** is initialized to a NULL pointer
and the rest if filled with NUL bytes either way.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] Fix sparse warnings
2011-03-21 9:45 ` [PATCH 2/2] Fix sparse warnings Stephen Boyd
2011-03-21 10:10 ` Johannes Sixt
@ 2011-03-21 16:15 ` Junio C Hamano
2011-03-21 18:01 ` [PATCHv2 " Stephen Boyd
1 sibling, 1 reply; 13+ messages in thread
From: Junio C Hamano @ 2011-03-21 16:15 UTC (permalink / raw)
To: Stephen Boyd; +Cc: git, Junio C Hamano
Stephen Boyd <bebarino@gmail.com> writes:
> Fix warnings from 'make check'.
>
> diff.c:631:25: warning: symbol 'diff_words_styles' was not declared.
> Should it be static?
> notes-merge.c:362:73: warning: Using plain integer as NULL pointer
> parse-options.c:564:6: error: symbol 'usage_with_options' redeclared
> with different type (originally declared at parse-options.h:158) -
> different modifiers
> parse-options.c:571:6: error: symbol 'usage_msg_opt' redeclared with
> different type (originally declared at parse-options.h:161) - different
> modifiers
> ...
Yuck. Could you summarize the errors by grouping them by type or
something in the log? One mega-patch we can swallow, but the log is
unreadble.
> diff --git a/builtin/clone.c b/builtin/clone.c
> index 02547ad..53ea012 100644
> --- a/builtin/clone.c
> +++ b/builtin/clone.c
> @@ -23,6 +23,7 @@
> #include "branch.h"
> #include "remote.h"
> #include "run-command.h"
> +#include "builtin.h"
Documentation/CodingGuidelines suggests to move this to the top, probably
replacing '#include "cache.h"' we have there:
- The first #include in C files, except in platform specific
compat/ implementations, should be git-compat-util.h or another
header file that includes it, such as cache.h or builtin.h.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] Makefile: Cover more files with make check
2011-03-21 9:45 [PATCH 1/2] Makefile: Cover more files with make check Stephen Boyd
2011-03-21 9:45 ` [PATCH 2/2] Fix sparse warnings Stephen Boyd
@ 2011-03-21 17:27 ` Junio C Hamano
1 sibling, 0 replies; 13+ messages in thread
From: Junio C Hamano @ 2011-03-21 17:27 UTC (permalink / raw)
To: Stephen Boyd; +Cc: git
Stephen Boyd <bebarino@gmail.com> writes:
> After the builtin/ move 'make check' doesn't cover the builtin/
> directory. We could just add builtin/*.c but lets just use GIT_OBJS
> instead so we cover future movement of the source files.
Thanks for being considerate and not use $(OBJECTS) that would feed sparse
a lot more crap ;-) GIT_OBJS is sensible (and when vcs-svn graduates from
contrib/ status, hopefully it would be included in GIT_OBJS).
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCHv2 2/2] Fix sparse warnings
2011-03-21 16:15 ` Junio C Hamano
@ 2011-03-21 18:01 ` Stephen Boyd
2011-03-21 19:29 ` Junio C Hamano
0 siblings, 1 reply; 13+ messages in thread
From: Stephen Boyd @ 2011-03-21 18:01 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Johannes Sixt
Fix warnings from 'make check'.
builtin/clone.c:364:5: warning: symbol 'cmd_clone' was not declared.
Should it be static?
builtin/fetch-pack.c:797:5: warning: symbol 'cmd_fetch_pack' was not
declared. Should it be static?
builtin/fmt-merge-msg.c:34:6: warning: symbol 'init_src_data' was not
declared. Should it be static?
builtin/hash-object.c:78:5: warning: symbol 'cmd_hash_object' was not
declared. Should it be static?
builtin/index-pack.c:210:13: error: symbol 'bad_object' redeclared with
different type (originally declared at builtin/index-pack.c:207) -
different modifiers
builtin/merge-index.c:69:5: warning: symbol 'cmd_merge_index' was not
declared. Should it be static?
builtin/merge-recursive.c:22:5: warning: symbol 'cmd_merge_recursive'
was not declared. Should it be static?
builtin/merge-tree.c:341:5: warning: symbol 'cmd_merge_tree' was not
declared. Should it be static?
builtin/mktag.c:156:5: warning: symbol 'cmd_mktag' was not declared.
Should it be static?
builtin/notes.c:426:5: warning: symbol 'notes_copy_from_stdin' was not
declared. Should it be static?
builtin/notes.c:822:64: warning: Using plain integer as NULL pointer
builtin/pack-redundant.c:596:5: warning: symbol 'cmd_pack_redundant' was
not declared. Should it be static?
builtin/pack-refs.c:10:5: warning: symbol 'cmd_pack_refs' was not
declared. Should it be static?
builtin/patch-id.c:60:5: warning: symbol 'get_one_patchid' was not
declared. Should it be static?
builtin/patch-id.c:149:5: warning: symbol 'cmd_patch_id' was not
declared. Should it be static?
builtin/remote.c:1512:5: warning: symbol 'cmd_remote' was not declared.
Should it be static?
builtin/remote-ext.c:240:5: warning: symbol 'cmd_remote_ext' was not
declared. Should it be static?
builtin/remote-fd.c:53:5: warning: symbol 'cmd_remote_fd' was not
declared. Should it be static?
builtin/reset.c:236:5: warning: symbol 'cmd_reset' was not declared.
Should it be static?
builtin/send-pack.c:384:5: warning: symbol 'cmd_send_pack' was not
declared. Should it be static?
builtin/unpack-file.c:25:5: warning: symbol 'cmd_unpack_file' was not
declared. Should it be static?
builtin/var.c:75:5: warning: symbol 'cmd_var' was not declared. Should
it be static?
submodule.c:12:20: warning: symbol 'config_name_for_path' was not
declared. Should it be static?
diff.c:631:25: warning: symbol 'diff_words_styles' was not declared.
Should it be static?
replace_object.c:92:21: warning: symbol 'lookup_replace_object' was not
declared. Should it be static?
submodule.c:13:20: warning: symbol
'config_fetch_recurse_submodules_for_name' was not declared. Should it
be static?
submodule.c:14:20: warning: symbol 'config_ignore_for_name' was not
declared. Should it be static?
trace.c:78:6: warning: symbol 'trace_printf_key' was not declared.
Should it be static?
transport.c:195:29: warning: Using plain integer as NULL pointer
transport-helper.c:79:12: warning: symbol 'remove_ext_force' was not
declared. Should it be static?
unpack-trees.c:19:12: warning: symbol 'unpack_plumbing_errors' was not
declared. Should it be static?
url.c:3:5: warning: symbol 'is_urlschemechar' was not declared. Should
it be static?
url.c:18:5: warning: symbol 'is_url' was not declared. Should it be
static?
url.c:104:6: warning: symbol 'url_decode' was not declared. Should it be
static?
url.c:117:6: warning: symbol 'url_decode_parameter_name' was not
declared. Should it be static?
url.c:123:6: warning: symbol 'url_decode_parameter_value' was not
declared. Should it be static?
url.c:129:6: warning: symbol 'end_url_with_slash' was not declared.
Should it be static?
url.c:136:6: warning: symbol 'str_end_url_with_slash' was not declared.
Should it be static?
thread-utils.c:21:5: warning: symbol 'online_cpus' was not declared.
Should it be static?
thread-utils.c:48:5: warning: symbol 'init_recursive_mutex' was not
declared. Should it be static?
parse-options.c:564:6: error: symbol 'usage_with_options' redeclared
with different type (originally declared at parse-options.h:158) -
different modifiers
parse-options.c:571:6: error: symbol 'usage_msg_opt' redeclared with
different type (originally declared at parse-options.h:161) - different
modifiers
usage.c:49:6: error: symbol 'usagef' redeclared with different type
(originally declared at git-compat-util.h:239) - different modifiers
usage.c:58:6: error: symbol 'usage' redeclared with different type
(originally declared at git-compat-util.h:238) - different modifiers
usage.c:63:6: error: symbol 'die' redeclared with different type
(originally declared at git-compat-util.h:240) - different modifiers
usage.c:72:6: error: symbol 'die_errno' redeclared with different type
(originally declared at git-compat-util.h:241) - different modifiers
daemon.c:663:38: warning: Using plain integer as NULL pointer
fast-import.c:2942:35: warning: Using plain integer as NULL pointer
imap-send.c:1072:48: warning: Using plain integer as NULL pointer
notes-merge.c:362:73: warning: Using plain integer as NULL pointer
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
---
On 03/21/11 09:15, Junio C Hamano wrote:
>
> Yuck. Could you summarize the errors by grouping them by type or
> something in the log? One mega-patch we can swallow, but the log is
> unreadble.
>
Sure. Both comments addressed.
builtin/clone.c | 2 +-
builtin/fetch-pack.c | 2 +-
builtin/fmt-merge-msg.c | 2 +-
builtin/hash-object.c | 2 +-
builtin/index-pack.c | 2 +-
builtin/merge-index.c | 2 +-
builtin/merge-recursive.c | 2 +-
builtin/merge-tree.c | 2 +-
builtin/mktag.c | 2 +-
builtin/notes.c | 4 ++--
builtin/pack-redundant.c | 2 +-
builtin/pack-refs.c | 2 +-
builtin/patch-id.c | 4 ++--
builtin/remote-ext.c | 2 +-
builtin/remote-fd.c | 1 +
builtin/remote.c | 2 +-
builtin/reset.c | 2 +-
builtin/send-pack.c | 2 +-
builtin/unpack-file.c | 2 +-
builtin/var.c | 2 +-
daemon.c | 2 +-
diff.c | 2 +-
fast-import.c | 2 +-
imap-send.c | 2 +-
notes-merge.c | 2 +-
parse-options.c | 4 ++--
replace_object.c | 1 +
submodule.c | 6 +++---
thread-utils.c | 1 +
trace.c | 2 +-
transport-helper.c | 2 +-
transport.c | 2 +-
unpack-trees.c | 2 +-
url.c | 1 +
usage.c | 8 ++++----
35 files changed, 43 insertions(+), 39 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c
index 02547ad..c6e10bb 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -8,7 +8,7 @@
* Clone a repository into a different directory that does not yet exist.
*/
-#include "cache.h"
+#include "builtin.h"
#include "parse-options.h"
#include "fetch-pack.h"
#include "refs.h"
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index 272bc38..ef39862 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "refs.h"
#include "pkt-line.h"
#include "commit.h"
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c
index 5189b16..7581632 100644
--- a/builtin/fmt-merge-msg.c
+++ b/builtin/fmt-merge-msg.c
@@ -31,7 +31,7 @@ struct src_data {
int head_status;
};
-void init_src_data(struct src_data *data)
+static void init_src_data(struct src_data *data)
{
data->branch.strdup_strings = 1;
data->tag.strdup_strings = 1;
diff --git a/builtin/hash-object.c b/builtin/hash-object.c
index c90acdd..b96f46a 100644
--- a/builtin/hash-object.c
+++ b/builtin/hash-object.c
@@ -4,7 +4,7 @@
* Copyright (C) Linus Torvalds, 2005
* Copyright (C) Junio C Hamano, 2005
*/
-#include "cache.h"
+#include "builtin.h"
#include "blob.h"
#include "quote.h"
#include "parse-options.h"
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index c7e600d..5a67c81 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -207,7 +207,7 @@ static void parse_pack_header(void)
static NORETURN void bad_object(unsigned long offset, const char *format,
...) __attribute__((format (printf, 2, 3)));
-static void bad_object(unsigned long offset, const char *format, ...)
+static NORETURN void bad_object(unsigned long offset, const char *format, ...)
{
va_list params;
char buf[1024];
diff --git a/builtin/merge-index.c b/builtin/merge-index.c
index 2c4cf5e..adc2a6d 100644
--- a/builtin/merge-index.c
+++ b/builtin/merge-index.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "run-command.h"
#include "exec_cmd.h"
diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c
index c33091b..3a64f5d 100644
--- a/builtin/merge-recursive.c
+++ b/builtin/merge-recursive.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "commit.h"
#include "tag.h"
#include "merge-recursive.h"
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index 9b25ddc..1991742 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "tree-walk.h"
#include "xdiff-interface.h"
#include "blob.h"
diff --git a/builtin/mktag.c b/builtin/mktag.c
index 1cb0f3f..9148cc0 100644
--- a/builtin/mktag.c
+++ b/builtin/mktag.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "tag.h"
#include "exec_cmd.h"
diff --git a/builtin/notes.c b/builtin/notes.c
index 0aab150..a0f310b 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c
@@ -423,7 +423,7 @@ void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c)
free(c);
}
-int notes_copy_from_stdin(int force, const char *rewrite_cmd)
+static int notes_copy_from_stdin(int force, const char *rewrite_cmd)
{
struct strbuf buf = STRBUF_INIT;
struct notes_rewrite_cfg *c = NULL;
@@ -819,7 +819,7 @@ static int merge_commit(struct notes_merge_options *o)
t = xcalloc(1, sizeof(struct notes_tree));
init_notes(t, "NOTES_MERGE_PARTIAL", combine_notes_overwrite, 0);
- o->local_ref = resolve_ref("NOTES_MERGE_REF", sha1, 0, 0);
+ o->local_ref = resolve_ref("NOTES_MERGE_REF", sha1, 0, NULL);
if (!o->local_ref)
die("Failed to resolve NOTES_MERGE_REF");
diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
index 41e1615..760b377 100644
--- a/builtin/pack-redundant.c
+++ b/builtin/pack-redundant.c
@@ -6,8 +6,8 @@
*
*/
-#include "cache.h"
#include "exec_cmd.h"
+#include "builtin.h"
#define BLKSIZE 512
diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c
index 091860b..39a9d89 100644
--- a/builtin/pack-refs.c
+++ b/builtin/pack-refs.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "parse-options.h"
#include "pack-refs.h"
diff --git a/builtin/patch-id.c b/builtin/patch-id.c
index 49a0472..f5966ae 100644
--- a/builtin/patch-id.c
+++ b/builtin/patch-id.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "exec_cmd.h"
static void flush_current_id(int patchlen, unsigned char *id, git_SHA_CTX *c)
@@ -57,7 +57,7 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after)
return 1;
}
-int get_one_patchid(unsigned char *next_sha1, git_SHA_CTX *ctx)
+static int get_one_patchid(unsigned char *next_sha1, git_SHA_CTX *ctx)
{
static char line[1000];
int patchlen = 0, found_next = 0;
diff --git a/builtin/remote-ext.c b/builtin/remote-ext.c
index ea71977..155e609 100644
--- a/builtin/remote-ext.c
+++ b/builtin/remote-ext.c
@@ -1,4 +1,4 @@
-#include "git-compat-util.h"
+#include "builtin.h"
#include "transport.h"
#include "run-command.h"
diff --git a/builtin/remote-fd.c b/builtin/remote-fd.c
index 1f2467b..b11b211 100644
--- a/builtin/remote-fd.c
+++ b/builtin/remote-fd.c
@@ -1,3 +1,4 @@
+#include "builtin.h"
#include "git-compat-util.h"
#include "transport.h"
diff --git a/builtin/remote.c b/builtin/remote.c
index cb26080..b71ecd2 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "parse-options.h"
#include "transport.h"
#include "remote.h"
diff --git a/builtin/reset.c b/builtin/reset.c
index 5de2bce..eb5f98c 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -7,7 +7,7 @@
*
* Copyright (c) 2005, 2006 Linus Torvalds and Junio C Hamano
*/
-#include "cache.h"
+#include "builtin.h"
#include "tag.h"
#include "object.h"
#include "commit.h"
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 2cd1c40..8b0911c 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "commit.h"
#include "refs.h"
#include "pkt-line.h"
diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c
index 608590a..c905d80 100644
--- a/builtin/unpack-file.c
+++ b/builtin/unpack-file.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "blob.h"
#include "exec_cmd.h"
diff --git a/builtin/var.c b/builtin/var.c
index 0744bb8..1787771 100644
--- a/builtin/var.c
+++ b/builtin/var.c
@@ -3,7 +3,7 @@
*
* Copyright (C) Eric Biederman, 2005
*/
-#include "cache.h"
+#include "builtin.h"
#include "exec_cmd.h"
static const char var_usage[] = "git var (-l | <variable>)";
diff --git a/daemon.c b/daemon.c
index 347fd0c..4c8346d 100644
--- a/daemon.c
+++ b/daemon.c
@@ -660,7 +660,7 @@ static void check_dead_children(void)
static char **cld_argv;
static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
{
- struct child_process cld = { 0 };
+ struct child_process cld = { NULL };
char addrbuf[300] = "REMOTE_ADDR=", portbuf[300];
char *env[] = { addrbuf, portbuf, NULL };
diff --git a/diff.c b/diff.c
index 42a107c..9b3eb99 100644
--- a/diff.c
+++ b/diff.c
@@ -628,7 +628,7 @@ struct diff_words_style {
const char *newline;
};
-struct diff_words_style diff_words_styles[] = {
+static struct diff_words_style diff_words_styles[] = {
{ DIFF_WORDS_PORCELAIN, {"+", "\n"}, {"-", "\n"}, {" ", "\n"}, "~\n" },
{ DIFF_WORDS_PLAIN, {"{+", "+}"}, {"[-", "-]"}, {"", ""}, "\n" },
{ DIFF_WORDS_COLOR, {"", ""}, {"", ""}, {"", ""}, "\n" }
diff --git a/fast-import.c b/fast-import.c
index d9f9a3f..65d65bf 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2939,7 +2939,7 @@ static void parse_ls(struct branch *b)
{
const char *p;
struct tree_entry *root = NULL;
- struct tree_entry leaf = {0};
+ struct tree_entry leaf = {NULL};
/* ls SP (<treeish> SP)? <path> */
p = command_buf.buf + strlen("ls ");
diff --git a/imap-send.c b/imap-send.c
index 71506a8..9adf4b9 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -1069,7 +1069,7 @@ static struct store *imap_open_store(struct imap_server_conf *srvc)
if (srvc->tunnel) {
const char *argv[] = { srvc->tunnel, NULL };
- struct child_process tunnel = {0};
+ struct child_process tunnel = {NULL};
imap_info("Starting tunnel '%s'... ", srvc->tunnel);
diff --git a/notes-merge.c b/notes-merge.c
index 1467ad3..28046a9 100644
--- a/notes-merge.c
+++ b/notes-merge.c
@@ -359,7 +359,7 @@ static int ll_merge_in_worktree(struct notes_merge_options *o,
read_mmblob(&remote, p->remote);
status = ll_merge(&result_buf, sha1_to_hex(p->obj), &base, NULL,
- &local, o->local_ref, &remote, o->remote_ref, 0);
+ &local, o->local_ref, &remote, o->remote_ref, NULL);
free(base.ptr);
free(local.ptr);
diff --git a/parse-options.c b/parse-options.c
index 42b51ef..73bd28a 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -561,14 +561,14 @@ static int usage_with_options_internal(struct parse_opt_ctx_t *ctx,
return PARSE_OPT_HELP;
}
-void usage_with_options(const char * const *usagestr,
+void NORETURN usage_with_options(const char * const *usagestr,
const struct option *opts)
{
usage_with_options_internal(NULL, usagestr, opts, 0, 1);
exit(129);
}
-void usage_msg_opt(const char *msg,
+void NORETURN usage_msg_opt(const char *msg,
const char * const *usagestr,
const struct option *options)
{
diff --git a/replace_object.c b/replace_object.c
index eb59604..7c6c754 100644
--- a/replace_object.c
+++ b/replace_object.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "sha1-lookup.h"
#include "refs.h"
+#include "commit.h"
static struct replace_object {
unsigned char sha1[2][20];
diff --git a/submodule.c b/submodule.c
index e9f2b19..0cb6d18 100644
--- a/submodule.c
+++ b/submodule.c
@@ -9,9 +9,9 @@
#include "refs.h"
#include "string-list.h"
-struct string_list config_name_for_path;
-struct string_list config_fetch_recurse_submodules_for_name;
-struct string_list config_ignore_for_name;
+static struct string_list config_name_for_path;
+static struct string_list config_fetch_recurse_submodules_for_name;
+static struct string_list config_ignore_for_name;
static int config_fetch_recurse_submodules;
static int add_submodule_odb(const char *path)
diff --git a/thread-utils.c b/thread-utils.c
index 589f838..2c8c1e3 100644
--- a/thread-utils.c
+++ b/thread-utils.c
@@ -1,5 +1,6 @@
#include "cache.h"
#include <pthread.h>
+#include "thread-utils.h"
#if defined(hpux) || defined(__hpux) || defined(_hpux)
# include <sys/pstat.h>
diff --git a/trace.c b/trace.c
index 8390bf7..d953416 100644
--- a/trace.c
+++ b/trace.c
@@ -75,7 +75,7 @@ void trace_vprintf(const char *key, const char *fmt, va_list ap)
strbuf_release(&buf);
}
-void trace_printf_key(const char *key, const char *fmt, ...)
+static void trace_printf_key(const char *key, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
diff --git a/transport-helper.c b/transport-helper.c
index 0c5b1bd..5846b55 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -76,7 +76,7 @@ static void write_constant(int fd, const char *str)
die_errno("Full write to remote helper failed");
}
-const char *remove_ext_force(const char *url)
+static const char *remove_ext_force(const char *url)
{
if (url) {
const char *colon = strchr(url, ':');
diff --git a/transport.c b/transport.c
index 0078660..f1c0781 100644
--- a/transport.c
+++ b/transport.c
@@ -192,7 +192,7 @@ static const char *rsync_url(const char *url)
static struct ref *get_refs_via_rsync(struct transport *transport, int for_push)
{
struct strbuf buf = STRBUF_INIT, temp_dir = STRBUF_INIT;
- struct ref dummy = {0}, *tail = &dummy;
+ struct ref dummy = {NULL}, *tail = &dummy;
struct child_process rsync;
const char *args[5];
int temp_dir_len;
diff --git a/unpack-trees.c b/unpack-trees.c
index b68ec82..500ebcf 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -16,7 +16,7 @@
* situation better. See how "git checkout" and "git merge" replaces
* them using setup_unpack_trees_porcelain(), for example.
*/
-const char *unpack_plumbing_errors[NB_UNPACK_TREES_ERROR_TYPES] = {
+static const char *unpack_plumbing_errors[NB_UNPACK_TREES_ERROR_TYPES] = {
/* ERROR_WOULD_OVERWRITE */
"Entry '%s' would be overwritten by merge. Cannot merge.",
diff --git a/url.c b/url.c
index 6a54959..3e06fd3 100644
--- a/url.c
+++ b/url.c
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "url.h"
int is_urlschemechar(int first_flag, int ch)
{
diff --git a/usage.c b/usage.c
index ec4cf53..b5e67e3 100644
--- a/usage.c
+++ b/usage.c
@@ -46,7 +46,7 @@ void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list param
die_routine = routine;
}
-void usagef(const char *err, ...)
+void NORETURN usagef(const char *err, ...)
{
va_list params;
@@ -55,12 +55,12 @@ void usagef(const char *err, ...)
va_end(params);
}
-void usage(const char *err)
+void NORETURN usage(const char *err)
{
usagef("%s", err);
}
-void die(const char *err, ...)
+void NORETURN die(const char *err, ...)
{
va_list params;
@@ -69,7 +69,7 @@ void die(const char *err, ...)
va_end(params);
}
-void die_errno(const char *fmt, ...)
+void NORETURN die_errno(const char *fmt, ...)
{
va_list params;
char fmt_with_err[1024];
--
1.7.4.1.343.ga91df
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCHv2 2/2] Fix sparse warnings
2011-03-21 18:01 ` [PATCHv2 " Stephen Boyd
@ 2011-03-21 19:29 ` Junio C Hamano
2011-03-21 21:58 ` Junio C Hamano
2011-03-22 7:51 ` [PATCHv3 " Stephen Boyd
0 siblings, 2 replies; 13+ messages in thread
From: Junio C Hamano @ 2011-03-21 19:29 UTC (permalink / raw)
To: Stephen Boyd; +Cc: Junio C Hamano, git, Johannes Sixt
Stephen Boyd <bebarino@gmail.com> writes:
> Fix warnings from 'make check'.
> ...
> Signed-off-by: Stephen Boyd <bebarino@gmail.com>
> ---
>
> On 03/21/11 09:15, Junio C Hamano wrote:
>>
>> Yuck. Could you summarize the errors by grouping them by type or
>> something in the log? One mega-patch we can swallow, but the log is
>> unreadble.
>
> Sure. Both comments addressed.
Still yeek...
What I meant was more like at the minimum:
- "warning: symbol 'x' was not declared. Should it be static?"
builtin/clone.c:365, builtin/fetch-pack.c:797, ...
- "error: symbol 'x' redeclared with different type'
parse-options.c:564, ...
or much more preferably:
- These files use symbols without declaring, because they do not include
"builtin.h":
builtin/clone.c (cmd_clone), builtin/fetch-pack.c (cmd_fetch_pack), ...
- These files define extern symbols without declaring, and they can be
file scope static:
builtin/fmt-merge-msg.c (init_src_data), ...
- These callsites pass literal integer 0 where they mean to pass a NULL
pointer:
builtin/notes.c (resolve_ref), ...
The patch text itself look more or less Ok, but I see you have builtin.h
not as the first include in builtin/pack-redundant.c.
Thanks.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 2/2] Fix sparse warnings
2011-03-21 19:29 ` Junio C Hamano
@ 2011-03-21 21:58 ` Junio C Hamano
2011-03-21 22:04 ` Stephen Boyd
2011-03-22 7:51 ` [PATCHv3 " Stephen Boyd
1 sibling, 1 reply; 13+ messages in thread
From: Junio C Hamano @ 2011-03-21 21:58 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Stephen Boyd, git, Johannes Sixt
Junio C Hamano <gitster@pobox.com> writes:
> Still yeek...
>
> What I meant was more like at the minimum:
> ...
> or much more preferably:
>
> - These files use symbols without declaring, because they do not include
> "builtin.h":
>
> builtin/clone.c (cmd_clone), builtin/fetch-pack.c (cmd_fetch_pack), ...
>
> - These files define extern symbols without declaring, and they can be
> file scope static:
>
> builtin/fmt-merge-msg.c (init_src_data), ...
>
> - These callsites pass literal integer 0 where they mean to pass a NULL
> pointer:
>
> builtin/notes.c (resolve_ref), ...
>
> The patch text itself look more or less Ok, but I see you have builtin.h
> not as the first include in builtin/pack-redundant.c.
>
> Thanks.
I spotted these two. thread-utils.h already includes pthread.h, and
builtin.h should come before (though technically exec_cmd.h does not
depend on any external types, so this is just a conformity issue, not
correctness one).
Again, thanks.
builtin/pack-redundant.c | 2 +-
thread-utils.c | 1 -
2 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
index 760b377..a15e366 100644
--- a/builtin/pack-redundant.c
+++ b/builtin/pack-redundant.c
@@ -6,8 +6,8 @@
*
*/
-#include "exec_cmd.h"
#include "builtin.h"
+#include "exec_cmd.h"
#define BLKSIZE 512
diff --git a/thread-utils.c b/thread-utils.c
index 2c8c1e3..7f4b76a 100644
--- a/thread-utils.c
+++ b/thread-utils.c
@@ -1,5 +1,4 @@
#include "cache.h"
-#include <pthread.h>
#include "thread-utils.h"
#if defined(hpux) || defined(__hpux) || defined(_hpux)
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCHv2 2/2] Fix sparse warnings
2011-03-21 21:58 ` Junio C Hamano
@ 2011-03-21 22:04 ` Stephen Boyd
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Boyd @ 2011-03-21 22:04 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Johannes Sixt
On Mon, Mar 21, 2011 at 2:58 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Junio C Hamano <gitster@pobox.com> writes:
>
>> Still yeek...
>>
>> What I meant was more like at the minimum:
>> ...
>> or much more preferably:
>>
>> - These files use symbols without declaring, because they do not include
>> "builtin.h":
>>
>> builtin/clone.c (cmd_clone), builtin/fetch-pack.c (cmd_fetch_pack), ...
>>
>> - These files define extern symbols without declaring, and they can be
>> file scope static:
>>
>> builtin/fmt-merge-msg.c (init_src_data), ...
>>
>> - These callsites pass literal integer 0 where they mean to pass a NULL
>> pointer:
>>
>> builtin/notes.c (resolve_ref), ...
>>
>> The patch text itself look more or less Ok, but I see you have builtin.h
>> not as the first include in builtin/pack-redundant.c.
>>
Ah ok, I can do that.
>
> I spotted these two. thread-utils.h already includes pthread.h, and
> builtin.h should come before (though technically exec_cmd.h does not
> depend on any external types, so this is just a conformity issue, not
> correctness one).
>
> Again, thanks.
>
> builtin/pack-redundant.c | 2 +-
> thread-utils.c | 1 -
> 2 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
> index 760b377..a15e366 100644
> --- a/builtin/pack-redundant.c
> +++ b/builtin/pack-redundant.c
> @@ -6,8 +6,8 @@
> *
> */
>
> -#include "exec_cmd.h"
> #include "builtin.h"
> +#include "exec_cmd.h"
>
> #define BLKSIZE 512
>
> diff --git a/thread-utils.c b/thread-utils.c
> index 2c8c1e3..7f4b76a 100644
> --- a/thread-utils.c
> +++ b/thread-utils.c
> @@ -1,5 +1,4 @@
> #include "cache.h"
> -#include <pthread.h>
> #include "thread-utils.h"
>
> #if defined(hpux) || defined(__hpux) || defined(_hpux)
>
Ok, I'll squash these in and resend tonight when I get home.
Also, I don't think exec_cmd.h is actually used in some of the builtin
C files (due to some setup fallouts) so I think we can probably just
remove the exec_cmd.h includes if they're within contex and unused.
I'll do that next round.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCHv3 2/2] Fix sparse warnings
2011-03-21 19:29 ` Junio C Hamano
2011-03-21 21:58 ` Junio C Hamano
@ 2011-03-22 7:51 ` Stephen Boyd
2011-03-22 17:18 ` Junio C Hamano
1 sibling, 1 reply; 13+ messages in thread
From: Stephen Boyd @ 2011-03-22 7:51 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Johannes Sixt
Fix warnings from 'make check'.
These files don't include 'builtin.h' causing sparse to complain that
cmd_* isn't declared:
builtin/clone.c:364, builtin/fetch-pack.c:797,
builtin/fmt-merge-msg.c:34, builtin/hash-object.c:78,
builtin/merge-index.c:69, builtin/merge-recursive.c:22
builtin/merge-tree.c:341, builtin/mktag.c:156, builtin/notes.c:426
builtin/notes.c:822, builtin/pack-redundant.c:596,
builtin/pack-refs.c:10, builtin/patch-id.c:60, builtin/patch-id.c:149,
builtin/remote.c:1512, builtin/remote-ext.c:240, builtin/remote-fd.c:53,
builtin/reset.c:236, builtin/send-pack.c:384, builtin/unpack-file.c:25,
builtin/var.c:75
These files have symbols which should be marked static since they're
only file scope:
submodule.c:12, diff.c:631, replace_object.c:92, submodule.c:13,
submodule.c:14, trace.c:78, transport.c:195, transport-helper.c:79,
unpack-trees.c:19, url.c:3, url.c:18, url.c:104, url.c:117, url.c:123,
url.c:129, url.c:136, thread-utils.c:21, thread-utils.c:48,
These files redeclare symbols to be different types:
builtin/index-pack.c:210, parse-options.c:564, parse-options.c:571,
usage.c:49, usage.c:58, usage.c:63, usage.c:72,
These files use a literal integer 0 when they really should use a NULL
pointer:
daemon.c:663, fast-import.c:2942, imap-send.c:1072, notes-merge.c:362
When we're in the area try to cleanup some unused #includes in builtin
files (mostly exec_cmdh.h).
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
---
Squashed in Junio's fixup and reworded commit message. Plus
removed some of the exec_cmd.h usages and a stray blob.h include.
builtin/clone.c | 2 +-
builtin/fetch-pack.c | 2 +-
builtin/fmt-merge-msg.c | 2 +-
builtin/hash-object.c | 2 +-
builtin/index-pack.c | 2 +-
builtin/merge-index.c | 3 +--
builtin/merge-recursive.c | 2 +-
builtin/merge-tree.c | 2 +-
builtin/mktag.c | 3 +--
builtin/notes.c | 4 ++--
builtin/pack-redundant.c | 3 +--
builtin/pack-refs.c | 2 +-
builtin/patch-id.c | 5 ++---
builtin/remote-ext.c | 1 +
builtin/remote-fd.c | 1 +
builtin/remote.c | 2 +-
builtin/reset.c | 2 +-
builtin/send-pack.c | 2 +-
builtin/unpack-file.c | 4 +---
builtin/var.c | 3 +--
daemon.c | 2 +-
diff.c | 2 +-
fast-import.c | 2 +-
imap-send.c | 2 +-
notes-merge.c | 2 +-
parse-options.c | 4 ++--
replace_object.c | 1 +
submodule.c | 6 +++---
thread-utils.c | 2 +-
trace.c | 2 +-
transport-helper.c | 2 +-
transport.c | 2 +-
unpack-trees.c | 2 +-
url.c | 1 +
usage.c | 8 ++++----
35 files changed, 43 insertions(+), 46 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c
index 02547ad..c6e10bb 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -8,7 +8,7 @@
* Clone a repository into a different directory that does not yet exist.
*/
-#include "cache.h"
+#include "builtin.h"
#include "parse-options.h"
#include "fetch-pack.h"
#include "refs.h"
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index 272bc38..ef39862 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "refs.h"
#include "pkt-line.h"
#include "commit.h"
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c
index 5189b16..7581632 100644
--- a/builtin/fmt-merge-msg.c
+++ b/builtin/fmt-merge-msg.c
@@ -31,7 +31,7 @@ struct src_data {
int head_status;
};
-void init_src_data(struct src_data *data)
+static void init_src_data(struct src_data *data)
{
data->branch.strdup_strings = 1;
data->tag.strdup_strings = 1;
diff --git a/builtin/hash-object.c b/builtin/hash-object.c
index c90acdd..b96f46a 100644
--- a/builtin/hash-object.c
+++ b/builtin/hash-object.c
@@ -4,7 +4,7 @@
* Copyright (C) Linus Torvalds, 2005
* Copyright (C) Junio C Hamano, 2005
*/
-#include "cache.h"
+#include "builtin.h"
#include "blob.h"
#include "quote.h"
#include "parse-options.h"
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index c7e600d..5a67c81 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -207,7 +207,7 @@ static void parse_pack_header(void)
static NORETURN void bad_object(unsigned long offset, const char *format,
...) __attribute__((format (printf, 2, 3)));
-static void bad_object(unsigned long offset, const char *format, ...)
+static NORETURN void bad_object(unsigned long offset, const char *format, ...)
{
va_list params;
char buf[1024];
diff --git a/builtin/merge-index.c b/builtin/merge-index.c
index 2c4cf5e..2338832 100644
--- a/builtin/merge-index.c
+++ b/builtin/merge-index.c
@@ -1,6 +1,5 @@
-#include "cache.h"
+#include "builtin.h"
#include "run-command.h"
-#include "exec_cmd.h"
static const char *pgm;
static int one_shot, quiet;
diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c
index c33091b..3a64f5d 100644
--- a/builtin/merge-recursive.c
+++ b/builtin/merge-recursive.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "commit.h"
#include "tag.h"
#include "merge-recursive.h"
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index 9b25ddc..1991742 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "tree-walk.h"
#include "xdiff-interface.h"
#include "blob.h"
diff --git a/builtin/mktag.c b/builtin/mktag.c
index 1cb0f3f..d0ccbb2 100644
--- a/builtin/mktag.c
+++ b/builtin/mktag.c
@@ -1,6 +1,5 @@
-#include "cache.h"
+#include "builtin.h"
#include "tag.h"
-#include "exec_cmd.h"
/*
* A signature file has a very simple fixed format: four lines
diff --git a/builtin/notes.c b/builtin/notes.c
index 0aab150..a0f310b 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c
@@ -423,7 +423,7 @@ void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c)
free(c);
}
-int notes_copy_from_stdin(int force, const char *rewrite_cmd)
+static int notes_copy_from_stdin(int force, const char *rewrite_cmd)
{
struct strbuf buf = STRBUF_INIT;
struct notes_rewrite_cfg *c = NULL;
@@ -819,7 +819,7 @@ static int merge_commit(struct notes_merge_options *o)
t = xcalloc(1, sizeof(struct notes_tree));
init_notes(t, "NOTES_MERGE_PARTIAL", combine_notes_overwrite, 0);
- o->local_ref = resolve_ref("NOTES_MERGE_REF", sha1, 0, 0);
+ o->local_ref = resolve_ref("NOTES_MERGE_REF", sha1, 0, NULL);
if (!o->local_ref)
die("Failed to resolve NOTES_MERGE_REF");
diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
index 41e1615..f5c6afc 100644
--- a/builtin/pack-redundant.c
+++ b/builtin/pack-redundant.c
@@ -6,8 +6,7 @@
*
*/
-#include "cache.h"
-#include "exec_cmd.h"
+#include "builtin.h"
#define BLKSIZE 512
diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c
index 091860b..39a9d89 100644
--- a/builtin/pack-refs.c
+++ b/builtin/pack-refs.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "parse-options.h"
#include "pack-refs.h"
diff --git a/builtin/patch-id.c b/builtin/patch-id.c
index 49a0472..f821eb3 100644
--- a/builtin/patch-id.c
+++ b/builtin/patch-id.c
@@ -1,5 +1,4 @@
-#include "cache.h"
-#include "exec_cmd.h"
+#include "builtin.h"
static void flush_current_id(int patchlen, unsigned char *id, git_SHA_CTX *c)
{
@@ -57,7 +56,7 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after)
return 1;
}
-int get_one_patchid(unsigned char *next_sha1, git_SHA_CTX *ctx)
+static int get_one_patchid(unsigned char *next_sha1, git_SHA_CTX *ctx)
{
static char line[1000];
int patchlen = 0, found_next = 0;
diff --git a/builtin/remote-ext.c b/builtin/remote-ext.c
index ea71977..23e84e7 100644
--- a/builtin/remote-ext.c
+++ b/builtin/remote-ext.c
@@ -1,3 +1,4 @@
+#include "builtin.h"
#include "git-compat-util.h"
#include "transport.h"
#include "run-command.h"
diff --git a/builtin/remote-fd.c b/builtin/remote-fd.c
index 1f2467b..b11b211 100644
--- a/builtin/remote-fd.c
+++ b/builtin/remote-fd.c
@@ -1,3 +1,4 @@
+#include "builtin.h"
#include "git-compat-util.h"
#include "transport.h"
diff --git a/builtin/remote.c b/builtin/remote.c
index cb26080..b71ecd2 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "parse-options.h"
#include "transport.h"
#include "remote.h"
diff --git a/builtin/reset.c b/builtin/reset.c
index 5de2bce..eb5f98c 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -7,7 +7,7 @@
*
* Copyright (c) 2005, 2006 Linus Torvalds and Junio C Hamano
*/
-#include "cache.h"
+#include "builtin.h"
#include "tag.h"
#include "object.h"
#include "commit.h"
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 2cd1c40..8b0911c 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -1,4 +1,4 @@
-#include "cache.h"
+#include "builtin.h"
#include "commit.h"
#include "refs.h"
#include "pkt-line.h"
diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c
index 608590a..1920029 100644
--- a/builtin/unpack-file.c
+++ b/builtin/unpack-file.c
@@ -1,6 +1,4 @@
-#include "cache.h"
-#include "blob.h"
-#include "exec_cmd.h"
+#include "builtin.h"
static char *create_temp_file(unsigned char *sha1)
{
diff --git a/builtin/var.c b/builtin/var.c
index 0744bb8..99d068a 100644
--- a/builtin/var.c
+++ b/builtin/var.c
@@ -3,8 +3,7 @@
*
* Copyright (C) Eric Biederman, 2005
*/
-#include "cache.h"
-#include "exec_cmd.h"
+#include "builtin.h"
static const char var_usage[] = "git var (-l | <variable>)";
diff --git a/daemon.c b/daemon.c
index 347fd0c..4c8346d 100644
--- a/daemon.c
+++ b/daemon.c
@@ -660,7 +660,7 @@ static void check_dead_children(void)
static char **cld_argv;
static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
{
- struct child_process cld = { 0 };
+ struct child_process cld = { NULL };
char addrbuf[300] = "REMOTE_ADDR=", portbuf[300];
char *env[] = { addrbuf, portbuf, NULL };
diff --git a/diff.c b/diff.c
index 42a107c..9b3eb99 100644
--- a/diff.c
+++ b/diff.c
@@ -628,7 +628,7 @@ struct diff_words_style {
const char *newline;
};
-struct diff_words_style diff_words_styles[] = {
+static struct diff_words_style diff_words_styles[] = {
{ DIFF_WORDS_PORCELAIN, {"+", "\n"}, {"-", "\n"}, {" ", "\n"}, "~\n" },
{ DIFF_WORDS_PLAIN, {"{+", "+}"}, {"[-", "-]"}, {"", ""}, "\n" },
{ DIFF_WORDS_COLOR, {"", ""}, {"", ""}, {"", ""}, "\n" }
diff --git a/fast-import.c b/fast-import.c
index d9f9a3f..65d65bf 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2939,7 +2939,7 @@ static void parse_ls(struct branch *b)
{
const char *p;
struct tree_entry *root = NULL;
- struct tree_entry leaf = {0};
+ struct tree_entry leaf = {NULL};
/* ls SP (<treeish> SP)? <path> */
p = command_buf.buf + strlen("ls ");
diff --git a/imap-send.c b/imap-send.c
index 71506a8..9adf4b9 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -1069,7 +1069,7 @@ static struct store *imap_open_store(struct imap_server_conf *srvc)
if (srvc->tunnel) {
const char *argv[] = { srvc->tunnel, NULL };
- struct child_process tunnel = {0};
+ struct child_process tunnel = {NULL};
imap_info("Starting tunnel '%s'... ", srvc->tunnel);
diff --git a/notes-merge.c b/notes-merge.c
index 1467ad3..28046a9 100644
--- a/notes-merge.c
+++ b/notes-merge.c
@@ -359,7 +359,7 @@ static int ll_merge_in_worktree(struct notes_merge_options *o,
read_mmblob(&remote, p->remote);
status = ll_merge(&result_buf, sha1_to_hex(p->obj), &base, NULL,
- &local, o->local_ref, &remote, o->remote_ref, 0);
+ &local, o->local_ref, &remote, o->remote_ref, NULL);
free(base.ptr);
free(local.ptr);
diff --git a/parse-options.c b/parse-options.c
index 42b51ef..73bd28a 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -561,14 +561,14 @@ static int usage_with_options_internal(struct parse_opt_ctx_t *ctx,
return PARSE_OPT_HELP;
}
-void usage_with_options(const char * const *usagestr,
+void NORETURN usage_with_options(const char * const *usagestr,
const struct option *opts)
{
usage_with_options_internal(NULL, usagestr, opts, 0, 1);
exit(129);
}
-void usage_msg_opt(const char *msg,
+void NORETURN usage_msg_opt(const char *msg,
const char * const *usagestr,
const struct option *options)
{
diff --git a/replace_object.c b/replace_object.c
index eb59604..7c6c754 100644
--- a/replace_object.c
+++ b/replace_object.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "sha1-lookup.h"
#include "refs.h"
+#include "commit.h"
static struct replace_object {
unsigned char sha1[2][20];
diff --git a/submodule.c b/submodule.c
index e9f2b19..0cb6d18 100644
--- a/submodule.c
+++ b/submodule.c
@@ -9,9 +9,9 @@
#include "refs.h"
#include "string-list.h"
-struct string_list config_name_for_path;
-struct string_list config_fetch_recurse_submodules_for_name;
-struct string_list config_ignore_for_name;
+static struct string_list config_name_for_path;
+static struct string_list config_fetch_recurse_submodules_for_name;
+static struct string_list config_ignore_for_name;
static int config_fetch_recurse_submodules;
static int add_submodule_odb(const char *path)
diff --git a/thread-utils.c b/thread-utils.c
index 589f838..7f4b76a 100644
--- a/thread-utils.c
+++ b/thread-utils.c
@@ -1,5 +1,5 @@
#include "cache.h"
-#include <pthread.h>
+#include "thread-utils.h"
#if defined(hpux) || defined(__hpux) || defined(_hpux)
# include <sys/pstat.h>
diff --git a/trace.c b/trace.c
index 8390bf7..d953416 100644
--- a/trace.c
+++ b/trace.c
@@ -75,7 +75,7 @@ void trace_vprintf(const char *key, const char *fmt, va_list ap)
strbuf_release(&buf);
}
-void trace_printf_key(const char *key, const char *fmt, ...)
+static void trace_printf_key(const char *key, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
diff --git a/transport-helper.c b/transport-helper.c
index 0c5b1bd..5846b55 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -76,7 +76,7 @@ static void write_constant(int fd, const char *str)
die_errno("Full write to remote helper failed");
}
-const char *remove_ext_force(const char *url)
+static const char *remove_ext_force(const char *url)
{
if (url) {
const char *colon = strchr(url, ':');
diff --git a/transport.c b/transport.c
index 0078660..f1c0781 100644
--- a/transport.c
+++ b/transport.c
@@ -192,7 +192,7 @@ static const char *rsync_url(const char *url)
static struct ref *get_refs_via_rsync(struct transport *transport, int for_push)
{
struct strbuf buf = STRBUF_INIT, temp_dir = STRBUF_INIT;
- struct ref dummy = {0}, *tail = &dummy;
+ struct ref dummy = {NULL}, *tail = &dummy;
struct child_process rsync;
const char *args[5];
int temp_dir_len;
diff --git a/unpack-trees.c b/unpack-trees.c
index b68ec82..500ebcf 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -16,7 +16,7 @@
* situation better. See how "git checkout" and "git merge" replaces
* them using setup_unpack_trees_porcelain(), for example.
*/
-const char *unpack_plumbing_errors[NB_UNPACK_TREES_ERROR_TYPES] = {
+static const char *unpack_plumbing_errors[NB_UNPACK_TREES_ERROR_TYPES] = {
/* ERROR_WOULD_OVERWRITE */
"Entry '%s' would be overwritten by merge. Cannot merge.",
diff --git a/url.c b/url.c
index 6a54959..3e06fd3 100644
--- a/url.c
+++ b/url.c
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "url.h"
int is_urlschemechar(int first_flag, int ch)
{
diff --git a/usage.c b/usage.c
index ec4cf53..b5e67e3 100644
--- a/usage.c
+++ b/usage.c
@@ -46,7 +46,7 @@ void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list param
die_routine = routine;
}
-void usagef(const char *err, ...)
+void NORETURN usagef(const char *err, ...)
{
va_list params;
@@ -55,12 +55,12 @@ void usagef(const char *err, ...)
va_end(params);
}
-void usage(const char *err)
+void NORETURN usage(const char *err)
{
usagef("%s", err);
}
-void die(const char *err, ...)
+void NORETURN die(const char *err, ...)
{
va_list params;
@@ -69,7 +69,7 @@ void die(const char *err, ...)
va_end(params);
}
-void die_errno(const char *fmt, ...)
+void NORETURN die_errno(const char *fmt, ...)
{
va_list params;
char fmt_with_err[1024];
--
1.7.4.1.343.ga91df
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCHv3 2/2] Fix sparse warnings
2011-03-22 7:51 ` [PATCHv3 " Stephen Boyd
@ 2011-03-22 17:18 ` Junio C Hamano
0 siblings, 0 replies; 13+ messages in thread
From: Junio C Hamano @ 2011-03-22 17:18 UTC (permalink / raw)
To: Stephen Boyd; +Cc: git, Johannes Sixt
Thanks.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2011-03-22 17:18 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-21 9:45 [PATCH 1/2] Makefile: Cover more files with make check Stephen Boyd
2011-03-21 9:45 ` [PATCH 2/2] Fix sparse warnings Stephen Boyd
2011-03-21 10:10 ` Johannes Sixt
2011-03-21 10:12 ` Stephen Boyd
2011-03-21 16:12 ` Junio C Hamano
2011-03-21 16:15 ` Junio C Hamano
2011-03-21 18:01 ` [PATCHv2 " Stephen Boyd
2011-03-21 19:29 ` Junio C Hamano
2011-03-21 21:58 ` Junio C Hamano
2011-03-21 22:04 ` Stephen Boyd
2011-03-22 7:51 ` [PATCHv3 " Stephen Boyd
2011-03-22 17:18 ` Junio C Hamano
2011-03-21 17:27 ` [PATCH 1/2] Makefile: Cover more files with make check Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).