Re: [PATCH v2 1/2] fsck.c: Change the type of fsck_ident()'s first argument
- From
Jeff King <peff@peff.net>
- Date
- Mar 12, 2014, 20:22 UTC
- Message-ID
- <20140312202251.GA3642@sigill.intra.peff.net>
- In-Reply-To
- <1394650290-3750-2-git-send-email-yshuiv7@gmail.com>
On Thu, Mar 13, 2014 at 02:51:29AM +0800, Yuxuan Shui wrote:
> Since fsck_ident doesn't change the content of **ident, the type of > ident could be const char **.
Unfortunately, const double-pointers in C are a bit tricky, and a pointer to "char *" cannot automatically be passed as a pointer to "const char *".
I think you want this on top:
diff --git a/fsck.c b/fsck.c index 1789c34..7776660 100644 --- a/fsck.c +++ b/fsck.c @@ -281,7 +281,7 @@ static int fsck_ident(const char **ident, struct object *obj, fsck_error error_f static int fsck_commit(struct commit *commit, fsck_error error_func) { - char *buffer = commit->buffer; + const char *buffer = commit->buffer; unsigned char tree_sha1[20], sha1[20]; struct commit_graft *graft; int parents = 0; Otherwise, gcc will complain about incompatible pointer types. -Peff