Fix bdiff test failures on AIX.
The test fails when, in the call to calloc(), the number of elements (bn)
is 0. In that case, calloc() on AIX will return NULL, while the code expects
a valid heap pointer. Both results are permissible under C99, Unix98 etc.
Work around by ensuring that at least 1 element is requested.
--- a/mercurial/bdiff.c Tue Dec 04 23:10:13 2007 +0100
+++ b/mercurial/bdiff.c Tue Oct 23 10:39:24 2007 +0000
@@ -245,7 +245,7 @@
/* allocate and fill arrays */
t = equatelines(a, an, b, bn);
- pos = (struct pos *)calloc(bn, sizeof(struct pos));
+ pos = (struct pos *)calloc((bn>0)?bn:1, sizeof(struct pos));
/* we can't have more matches than lines in the shorter file */
l.head = l.base = (struct hunk *)malloc(sizeof(struct hunk) *
((an<bn ? an:bn) + 1));