From 4e0d7a80186c27f1a008dd10eaea6f25b0e1fe19 Mon Sep 17 00:00:00 2001 From: Ramsay Jones Date: Wed, 23 Jun 2010 20:40:19 +0100 Subject: msvc: Fix some "expr evaluates to function" compiler warnings In particular, the following warning is issued while compiling notes.c: notes.c(927) : warning C4550: expression evaluates to a \ function which is missing an argument list along with identical warnings on lines 928, 1016 and 1017. In order to suppress the warning, we change the definition of combine_notes_fn, so that the symbol type is an (explicit) "pointer to function ...". As a result, several other declarations need some minor fix-up to take account of the new typedef. Signed-off-by: Ramsay Jones Acked-by: Johan Herland Signed-off-by: Junio C Hamano diff --git a/builtin.h b/builtin.h index 322901f..fdae027 100644 --- a/builtin.h +++ b/builtin.h @@ -26,13 +26,13 @@ struct notes_rewrite_cfg { struct notes_tree **trees; const char *cmd; int enabled; - combine_notes_fn *combine; + combine_notes_fn combine; struct string_list *refs; int refs_from_env; int mode_from_env; }; -combine_notes_fn *parse_combine_notes_fn(const char *v); +combine_notes_fn parse_combine_notes_fn(const char *v); struct notes_rewrite_cfg *init_copy_notes_for_rewrite(const char *cmd); int copy_note_for_rewrite(struct notes_rewrite_cfg *c, const unsigned char *from_obj, const unsigned char *to_obj); diff --git a/builtin/notes.c b/builtin/notes.c index 2661754..da504ee 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -313,7 +313,7 @@ int commit_notes(struct notes_tree *t, const char *msg) return 0; } -combine_notes_fn *parse_combine_notes_fn(const char *v) +combine_notes_fn parse_combine_notes_fn(const char *v) { if (!strcasecmp(v, "overwrite")) return combine_notes_overwrite; diff --git a/notes.h b/notes.h index 9f59277..109bc8f 100644 --- a/notes.h +++ b/notes.h @@ -18,7 +18,7 @@ * combine_notes_concatenate(), which appends the contents of the new note to * the contents of the existing note. */ -typedef int combine_notes_fn(unsigned char *cur_sha1, const unsigned char *new_sha1); +typedef int (*combine_notes_fn)(unsigned char *cur_sha1, const unsigned char *new_sha1); /* Common notes combinators */ int combine_notes_concatenate(unsigned char *cur_sha1, const unsigned char *new_sha1); @@ -38,7 +38,7 @@ extern struct notes_tree { struct int_node *root; struct non_note *first_non_note, *prev_non_note; char *ref; - combine_notes_fn *combine_notes; + combine_notes_fn combine_notes; int initialized; int dirty; } default_notes_tree; -- cgit v0.10.2-6-g49f6 From 8b6d7924f865f29e625d0fbd3e1307af30e51908 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 25 Jun 2010 04:16:24 +0200 Subject: Documentation: grep: fix asciidoc problem with -- Asciidoc interprets two dashes separated by spaces as a single big dash. So let's escape the first dash, so that "\--" will properly appear as "--". Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt index 4b32322..912bddd 100644 --- a/Documentation/git-grep.txt +++ b/Documentation/git-grep.txt @@ -183,7 +183,7 @@ OPTIONS Examples -------- -git grep 'time_t' -- '*.[ch]':: +git grep 'time_t' \-- '*.[ch]':: Looks for `time_t` in all tracked .c and .h files in the working directory and its subdirectories. -- cgit v0.10.2-6-g49f6 From 9eafa1201b2dcc703258ca7cd53de8ac4de74565 Mon Sep 17 00:00:00 2001 From: Ramsay Jones Date: Wed, 23 Jun 2010 20:47:50 +0100 Subject: msvc: Fix some compiler warnings In particular, using the normal (or production) compiler warning level (-W3), msvc complains as follows: .../sha1.c(244) : warning C4018: '<' : signed/unsigned mismatch .../sha1.c(270) : warning C4244: 'function' : conversion from \ 'unsigned __int64' to 'unsigned long', possible loss of data .../sha1.c(271) : warning C4244: 'function' : conversion from \ 'unsigned __int64' to 'unsigned long', possible loss of data Note that gcc issues a similar complaint about line 244 when compiling with -Wextra. Signed-off-by: Ramsay Jones Signed-off-by: Junio C Hamano diff --git a/block-sha1/sha1.c b/block-sha1/sha1.c index d893475..d880a53 100644 --- a/block-sha1/sha1.c +++ b/block-sha1/sha1.c @@ -236,13 +236,13 @@ void blk_SHA1_Init(blk_SHA_CTX *ctx) void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *data, unsigned long len) { - int lenW = ctx->size & 63; + unsigned int lenW = ctx->size & 63; ctx->size += len; /* Read the data into W and process blocks as they get full */ if (lenW) { - int left = 64 - lenW; + unsigned int left = 64 - lenW; if (len < left) left = len; memcpy(lenW + (char *)ctx->W, data, left); @@ -269,8 +269,8 @@ void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx) int i; /* Pad with a binary 1 (ie 0x80), then zeroes, then length */ - padlen[0] = htonl(ctx->size >> 29); - padlen[1] = htonl(ctx->size << 3); + padlen[0] = htonl((uint32_t)(ctx->size >> 29)); + padlen[1] = htonl((uint32_t)(ctx->size << 3)); i = ctx->size & 63; blk_SHA1_Update(ctx, pad, 1+ (63 & (55 - i))); -- cgit v0.10.2-6-g49f6