This hsearch(3) implementation is (with very minor changes) taken from FreeBSD 11.1. Also fix compilation errors due to calls to index(). This should probably be fixed upstream.