Implement twalk(3), add unit tests.

I've also added insque(3) and remque(3) (from NetBSD because the OpenBSD
ones are currently broken for non-circular lists).

I've not added the three hash table functions that should be in this header
because they operate on a single global hash table and thus aren't likely
to be useful.

Bug: https://code.google.com/p/android/issues/detail?id=73719

(cherry picked from commit 3e424d0a24)

Change-Id: I5882a6b48c80fea8ac6b9c27e7b9de10b202b4ff
This commit is contained in:
Elliott Hughes
2014-07-23 16:02:26 -07:00
parent 5ade7e3f6b
commit b902641d73
14 changed files with 534 additions and 213 deletions

View File

@@ -29,6 +29,9 @@ typedef struct node {
__BEGIN_DECLS
void insque(void*, void*);
void remque(void*);
void* lfind(const void*, const void*, size_t*, size_t, int (*)(const void*, const void*));
void* lsearch(const void*, void*, size_t*, size_t, int (*)(const void*, const void*));