Skip to content
hierarchical data with a speech interface
C Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


hoof is a library to manage hierarchical data with an interface designed for speech
hoof also comes with an example terminal program that has a text interface

primary purpose is to allow someone who is blind to easily create manipulate and navigate hierarchical data
a speech interface limits the need for upper case letters or punctuation or symbols
hoof organizes data as a hierarchy of values
values contain words and each value can have a list of children values
to learn how to use hoof see the manual

current version is 0 9 01 wip
author is jeremiah martell
copyright is 2014 through 2015
license is bsd 3 clause
website is geekhorse dot com
size of the library is less than 20 kilobytes

hoof is a high quality library
compiles without warnings against c 99 and c 11 standards
checks and handles all error conditions
if malloc fails hoof will not crash or corrupt memory or corrupt state but will safely return an out of memory return code
valgrind reports no memory leaks or errors
test coverage is 100 percent branch coverage
all functions are reentrant
contains no third party code
written entirely by jeremiah

to use hoof you only need to copy the hoof dot c and hoof dot h files into your project
hoof has no dependencies other than standard c libraries
the only standard c functions hoof requres are malloc calloc free strcmp fopen fread fwrite fclose rename and remove

if you want to change the functions that hoof calls for malloc calloc and free then define hoof_use_mem_hooks and provide hoof_hook_malloc hoof_hook_calloc and hoof_hook_free
if you want errors logged then define hoof_enable_logging and provide hoof_hook_log
if you want to modify hoof then define hoof_be_paranoid to turn on extra paranoid checks in the library
You can’t perform that action at this time.