From 3534b428629be185e096be99e3bd5fdfe32d5544 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 18 Sep 2014 18:55:44 +0000 Subject: initial commit with rc for skalibs-2.0.0.0 --- src/libstddjb/bitarray_firstclear.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/libstddjb/bitarray_firstclear.c (limited to 'src/libstddjb/bitarray_firstclear.c') diff --git a/src/libstddjb/bitarray_firstclear.c b/src/libstddjb/bitarray_firstclear.c new file mode 100644 index 0000000..80b6fbb --- /dev/null +++ b/src/libstddjb/bitarray_firstclear.c @@ -0,0 +1,14 @@ +/* ISC license. */ + +#include + +unsigned int bitarray_firstclear (register unsigned char const *s, unsigned int max) +{ + unsigned int n = bitarray_div8(max) ; + register unsigned int i = 0 ; + for (; i < n ; i++) if (s[i] != 0xffU) break ; + if (i == n) return max ; + i <<= 3 ; + while ((i < max) && bitarray_peek(s, i)) i++ ; + return i ; +} -- cgit v1.2.3