X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1df63930a063aa03a7bd09bb719803ea4820d4e1..4829d096feb337a55e2b866adb19acab9617b071:/sbr/vector.c diff --git a/sbr/vector.c b/sbr/vector.c index 77908cb1..85b5a839 100644 --- a/sbr/vector.c +++ b/sbr/vector.c @@ -16,8 +16,8 @@ * can be as large as needed, as long as it fits in (virtual) memory. */ -#include -#include +#include "h/mh.h" +#include "h/utils.h" /* The default size of a struct bvector's bits, measured in bits. * The struct's tiny member is used for storage. */ @@ -211,12 +211,20 @@ svector_at (svector_t vec, size_t i) return vec->strs[i]; } +char * +svector_read_at (const struct svector *const vec, size_t i) +{ + if (i >= vec->maxsize) + return NULL; + return vec->strs[i]; +} + /* * Return address of first element that stringwise matches s. * The caller can replace the contents of the return address. */ char ** -svector_find (svector_t vec, const char *s) +svector_find (const struct svector *const vec, const char *s) { size_t i; char **str = vec->strs; @@ -231,13 +239,13 @@ svector_find (svector_t vec, const char *s) } char ** -svector_strs (svector_t vec) +svector_strs (const struct svector *const vec) { return vec->strs; } size_t -svector_size (svector_t vec) +svector_size (const struct svector *const vec) { return vec->size; }