From: Bruno Haible Date: Mon, 24 Jan 2011 10:05:18 +0000 (+0100) Subject: vma-iter: Avoid empty intervals. X-Git-Tag: v0.1~3297 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=5e5009f839875220d5dec7abdf5cf53d919f4d42;p=gnulib.git vma-iter: Avoid empty intervals. * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback on an empty interval. --- diff --git a/ChangeLog b/ChangeLog index bea7d1e5c..ab1ad1e7b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-01-24 Bruno Haible + + vma-iter: Avoid empty intervals. + * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback + on an empty interval. + 2011-01-24 Jim Meyering u64: remove unnecessary #include diff --git a/lib/vma-iter.c b/lib/vma-iter.c index 251ef7554..8ef865de7 100644 --- a/lib/vma-iter.c +++ b/lib/vma-iter.c @@ -331,10 +331,12 @@ vma_iterate (vma_iterate_callback_fn callback, void *data) { /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1] = [start,auxmap_start-1] u [auxmap_end,end-1]. */ - if (callback (data, start, auxmap_start, flags)) - break; - if (callback (data, auxmap_end, end, flags)) - break; + if (start < auxmap_start) + if (callback (data, start, auxmap_start, flags)) + break; + if (auxmap_end - 1 < end - 1) + if (callback (data, auxmap_end, end, flags)) + break; } else {