This project contains common code, shared between our various projects, namely encrypt and stegfs. It may be useful for others, either just as a learning exercise or possibly even using some or all of it in your own code.
It includes a test suite that hopefully shows how to make use of some of the extensions.
Common cryptographic functions, typically parsing of string values to enum constants.
Various formatted CLI output functions, including a progress bar.
Common constants.
Parsing of config files and command line arguments (where arguments override/replace values from files). Can also handle updating of config files if necessary.
A couple recursive directory functions, creating and reading. The others are more specific to stegfs though may be useful for something.
Error correction code handling.
Error handling, including dumping a stacktrace (if possible) on error.
Custom linked list implementation.
Custom key/value map implementation.
Do-or-die memory allocation.
Various functions available on GNU systems but not elsewhere.
Pairs of values.
Custom tag-length-value implementation.
Application versioning, including getting build and system information
for --help command line argument.