This is code I wrote *years* ago to help implement CGI-based programs in C.
It has evolved since then, accumulating other bits of code that I've found
useful in CGI-based programs as well as other, non-CGI-based programs. It's
somewhat of a grabbag of routines here.
bisearch - binary search that returns both found/not-found indicator,
plus the index where it item was found/would have been
found.
cgi - routines to handle CGI variables; both GET and POST
variables are supported, but not both at the same time.
This limitation was one that has never bothered me.
chunk - a simple template system. Real simple. It's up to you to
provide loops, sub-templates, etc. All this does is allow
you to register callbacks keyed off the text between '%{'
and '}%'. The rest is up to you.
htmltok - a simple tag-soup HTML parser.
mail - a simple interface to sending email
nodelist - a double-linked list library, based off the old Amiga
OS.
pair - creates name/value pairs and puts them into a list. It
does a linear scan to find pairs.
rfc822 - parses RFC-822 formatted headers.
url - right now it only parses and creates HTTP based urls,
but the infrastructure is there to support more types.
util - some miscellaneous routines that don't fit elsewhere.