Mark Burton schrieb:
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;
}