Some more feedback: * Use a more sensible formatting style (look at the suckless.org projects or style(9) in OpenBSD.) * If a function is not intended to accept any arguments use void.
Instead of: void foo(); Use: void foo(void); * Use BUFSIZ wherever possible instead of hardcoded values. * Consider using the functions from err.h instead of the fprintf() + strerror() + exit() combination. As an alternative, you can grab the eprintf() + friends from sbase. * No need to include the type of the variable in the name, so things like "statistics_string" look weird. * Use strtonum() or estrtol() from sbase instead of atoi(). * Errors should to go to stderr. * Don't use EXIT_{SUCCESS,FAILURE} - just use 0 and 1. I know this is debatable but saves typing and verbosity. * Fix your indentation!