Commit Briefs
initialize status_format early in the main()
otherwise we may leave it NULL (it's set only in ctl_status) and crash in print_status.
allow to customize the output of amused status
This add a -f flag (that falls back to $AMUSED_STATUS_FORMAT) to control which field to print and in which order.
use (a modified version of) kristaps' oconfigure
see GitHub issue #1
add missing initializers
meh, just to please the compiler. Global variables are guaranteed to be zeroed so not specifying a value shouldn't matter, yet it complains.
don't loop indefinitely in ctl_connect
if the server fails to start for wathever reason, we end up looping in ctl_connect indefinitely as we try to spawn the deamon (that dies) and try to connect to it. Add an arbitrary maximum number of retries before giving up. Reported by sikmir in the GitHub issue #1, thanks!
reset path buffer before writing to it
otherwise path, which is filled by the garbage that's on the stack, may not end with a NUL byte. main_enqueue fails with "malformed data" if the path sent doesn't end with a NUL. (i.e. the fact that in every case the path is NUL-terminated is not relevant. For semplicity, I'm working with paths long PATH_MAX bytes and only checking that path[PATH_MAX-1] is NUL when handling the imsgs.) Issue reported by Dirk-Wilhelm Peters, thanks!