aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Sirainen <tss@iki.fi>2005-08-09 18:30:22 +0300
committerJunio C Hamano <junkio@cox.net>2005-08-09 22:28:19 -0700
commit4ec99bf080f2d95c7c3d706f65eea1c6b9302f23 (patch)
treed4645413f012a970eb7744004fe829aa2786a067
parent96ad15ae2ff6416cf04c4c75a11783632cdc8fb4 (diff)
downloadgit-4ec99bf080f2d95c7c3d706f65eea1c6b9302f23.tar.gz
git-4ec99bf080f2d95c7c3d706f65eea1c6b9302f23.tar.xz
[PATCH] -Werror fixes
GCC's format __attribute__ is good for checking errors, especially with -Wformat=2 parameter. This fixes most of the reported problems against 2005-08-09 snapshot.
-rw-r--r--apply.c4
-rw-r--r--cache.h12
-rw-r--r--clone-pack.c2
-rw-r--r--connect.c3
-rw-r--r--csum-file.h2
-rw-r--r--pack-check.c2
-rw-r--r--pkt-line.h2
-rw-r--r--refs.c6
-rw-r--r--tar-tree.c4
9 files changed, 21 insertions, 16 deletions
diff --git a/apply.c b/apply.c
index c671d9e86..81607c0fb 100644
--- a/apply.c
+++ b/apply.c
@@ -563,7 +563,7 @@ static int find_header(char *line, unsigned long size, int *hdrsize, struct patc
struct fragment dummy;
if (parse_fragment_header(line, len, &dummy) < 0)
continue;
- error("patch fragment without header at line %d: %.*s", linenr, len-1, line);
+ error("patch fragment without header at line %d: %.*s", linenr, (int)len-1, line);
}
if (size < len + 6)
@@ -968,7 +968,7 @@ static int apply_fragments(struct buffer_desc *desc, struct patch *patch)
while (frag) {
if (apply_one_fragment(desc, frag) < 0)
- return error("patch failed: %s:%d", patch->old_name, frag->oldpos);
+ return error("patch failed: %s:%ld", patch->old_name, frag->oldpos);
frag = frag->next;
}
return 0;
diff --git a/cache.h b/cache.h
index 957e2ca7c..efd2a2c59 100644
--- a/cache.h
+++ b/cache.h
@@ -40,6 +40,10 @@
#define NORETURN
#endif
+#ifndef __attribute__
+#define __attribute(x)
+#endif
+
/*
* Intensive research over the course of many years has shown that
* port 9418 is totally unused by anything else. Or
@@ -171,8 +175,8 @@ extern void rollback_index_file(struct cache_file *);
#define TYPE_CHANGED 0x0040
/* Return a statically allocated filename matching the sha1 signature */
-extern char *mkpath(const char *fmt, ...);
-extern char *git_path(const char *fmt, ...);
+extern char *mkpath(const char *fmt, ...) __attribute__((format (printf, 1, 2)));
+extern char *git_path(const char *fmt, ...) __attribute__((format (printf, 1, 2)));
extern char *sha1_file_name(const unsigned char *sha1);
extern char *sha1_pack_name(const unsigned char *sha1);
extern char *sha1_pack_index_name(const unsigned char *sha1);
@@ -218,8 +222,8 @@ extern char *sha1_to_hex(const unsigned char *sha1); /* static buffer result! */
/* General helper functions */
extern void usage(const char *err) NORETURN;
-extern void die(const char *err, ...) NORETURN;
-extern int error(const char *err, ...);
+extern void die(const char *err, ...) NORETURN __attribute__((format (printf, 1, 2)));
+extern int error(const char *err, ...) __attribute__((format (printf, 1, 2)));
extern int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
extern int cache_name_compare(const char *name1, int len1, const char *name2, int len2);
diff --git a/clone-pack.c b/clone-pack.c
index e9c20dee7..49820c657 100644
--- a/clone-pack.c
+++ b/clone-pack.c
@@ -30,7 +30,7 @@ static int is_master(struct ref *ref)
static void write_one_ref(struct ref *ref)
{
- char *path = git_path(ref->name);
+ char *path = git_path("%s", ref->name);
int fd;
char *hex;
diff --git a/connect.c b/connect.c
index 20b80a1b5..8f4d99aef 100644
--- a/connect.c
+++ b/connect.c
@@ -166,7 +166,8 @@ static int match_explicit_refs(struct ref *src, struct ref *dst,
if (matched_src)
break;
errs = 1;
- error("src refspec %s does not match any.");
+ error("src refspec %s does not match any.",
+ rs[i].src);
break;
default:
errs = 1;
diff --git a/csum-file.h b/csum-file.h
index 776cfb152..3ad1a992a 100644
--- a/csum-file.h
+++ b/csum-file.h
@@ -11,7 +11,7 @@ struct sha1file {
};
extern struct sha1file *sha1fd(int fd, const char *name);
-extern struct sha1file *sha1create(const char *fmt, ...);
+extern struct sha1file *sha1create(const char *fmt, ...) __attribute__((format (printf, 1, 2)));
extern int sha1close(struct sha1file *, unsigned char *, int);
extern int sha1write(struct sha1file *, void *, unsigned int);
extern int sha1write_compressed(struct sha1file *, void *, unsigned int);
diff --git a/pack-check.c b/pack-check.c
index 054b0131e..511f29424 100644
--- a/pack-check.c
+++ b/pack-check.c
@@ -15,7 +15,7 @@ static int verify_packfile(struct packed_git *p)
/* Header consistency check */
hdr = p->pack_base;
if (hdr->hdr_signature != htonl(PACK_SIGNATURE))
- return error("Packfile signature mismatch", p->pack_name);
+ return error("Packfile %s signature mismatch", p->pack_name);
if (hdr->hdr_version != htonl(PACK_VERSION))
return error("Packfile version %d different from ours %d",
ntohl(hdr->hdr_version), PACK_VERSION);
diff --git a/pkt-line.h b/pkt-line.h
index b0b4f6d49..51d0cbe21 100644
--- a/pkt-line.h
+++ b/pkt-line.h
@@ -5,7 +5,7 @@
* Silly packetized line writing interface
*/
void packet_flush(int fd);
-void packet_write(int fd, const char *fmt, ...);
+void packet_write(int fd, const char *fmt, ...) __attribute__((format (printf, 2, 3)));
int packet_read_line(int fd, char *buffer, unsigned size);
diff --git a/refs.c b/refs.c
index 774f1630f..a5c894661 100644
--- a/refs.c
+++ b/refs.c
@@ -6,7 +6,7 @@
static int read_ref(const char *refname, unsigned char *sha1)
{
int ret = -1;
- int fd = open(git_path(refname), O_RDONLY);
+ int fd = open(git_path("%s", refname), O_RDONLY);
if (fd >= 0) {
char buffer[60];
@@ -20,7 +20,7 @@ static int read_ref(const char *refname, unsigned char *sha1)
static int do_for_each_ref(const char *base, int (*fn)(const char *path, const unsigned char *sha1))
{
int retval = 0;
- DIR *dir = opendir(git_path(base));
+ DIR *dir = opendir(git_path("%s", base));
if (dir) {
struct dirent *de;
@@ -46,7 +46,7 @@ static int do_for_each_ref(const char *base, int (*fn)(const char *path, const u
if (namelen > 255)
continue;
memcpy(path + baselen, de->d_name, namelen+1);
- if (lstat(git_path(path), &st) < 0)
+ if (lstat(git_path("%s", path), &st) < 0)
continue;
if (S_ISDIR(st.st_mode)) {
retval = do_for_each_ref(path, fn);
diff --git a/tar-tree.c b/tar-tree.c
index a877fe545..2716ae3eb 100644
--- a/tar-tree.c
+++ b/tar-tree.c
@@ -325,8 +325,8 @@ static void write_header(const unsigned char *sha1, char typeflag, const char *b
memcpy(&header[257], "ustar", 6);
memcpy(&header[263], "00", 2);
- printf(&header[329], "%07o", 0); /* devmajor */
- printf(&header[337], "%07o", 0); /* devminor */
+ sprintf(&header[329], "%07o", 0); /* devmajor */
+ sprintf(&header[337], "%07o", 0); /* devminor */
memset(&header[148], ' ', 8);
for (i = 0; i < RECORDSIZE; i++)