diff options
-rw-r--r-- | MLKArray.m | 7 | ||||
-rw-r--r-- | functions.h | 2 |
2 files changed, 7 insertions, 2 deletions
@@ -26,6 +26,7 @@ #include <stdio.h> #include <search.h> +#include <string.h> @implementation MLKArray @@ -115,7 +116,8 @@ static int eq (const void *x, const void *y) -(NSUInteger) indexOfObjectIdenticalTo:(id)anObject inRange:(NSRange)range { // FIXME: How to treat [NSNull null]? - return ((id*)lfind (anObject, _buffer + range.location, &range.length, sizeof(id), eq) + size_t length = range.length; + return ((id*)lfind (anObject, _buffer + range.location, &length, sizeof(id), eq) - _buffer) / sizeof(id); } @@ -133,7 +135,8 @@ static int equalp (const void *x, const void *y) -(NSUInteger) indexOfObject:(id)anObject inRange:(NSRange)range { // FIXME: How to treat [NSNull null]? - return ((id*)lfind (anObject, _buffer + range.location, &range.length, sizeof(id), equalp) + size_t length = range.length; + return ((id*)lfind (anObject, _buffer + range.location, &length, sizeof(id), equalp) - _buffer) / sizeof(id); } diff --git a/functions.h b/functions.h index e635220..f322d7a 100644 --- a/functions.h +++ b/functions.h @@ -25,6 +25,8 @@ #include <ffi.h> #elif HAVE_FFI_FFI_H #include <ffi/ffi.h> +#else +#error "Couldn't include ffi.h." #endif |