Re: [PATCH 4/5] Make 'diff_populate_filespec()' use the new 'strbuf_readlink()'
- From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
- Date
- Dec 18, 2008, 16:56 UTC
- Message-ID
- <494A80D3.7070605@lsrfire.ath.cx>
- In-Reply-To
- <20081218121118.3635c53c@crow>
Mark Burton schrieb:
Show 12 quoted lines
> Howdy folks, > > When I compile this latest version of diff.c on a i686 dual-core Pentium box > I see: > > diff.c: In function ‘diff_populate_filespec’: > diff.c:1781: warning: passing argument 2 of ‘strbuf_detach’ from incompatible pointer type > > The same code compiles without warning on a x86_64 AMD box. Both > machines are running stock Ubuntu 8.04. > > Does it need a cast on some architectures?
The type of the size member of struct stat is off_t, while strbuf_detach expects a size_t pointer. This patch should fix the warning:
diff --git a/diff.c b/diff.c index f160c1a..0484601 100644 --- a/diff.c +++ b/diff.c @@ -1778,7 +1778,8 @@ int diff_populate_filespec(struct diff_filespec *s, int size_only) if (strbuf_readlink(&sb, s->path, s->size)) goto err_empty; - s->data = strbuf_detach(&sb, &s->size); + s->size = sb.len; + s->data = strbuf_detach(&sb, NULL); s->should_free = 1; return 0; }