Commits


use a strictier pledge for `amused add' now that we're using canonpath instead of realpath(3), we can drop the rpath pledge promise.


use canonpath instead of realpath(3) so we get the same behaviour with `add' and `load'


use canonpath (from kern_pledge.c) instead of home grow "equivalent"


drop a local variable don't need to keep `files' around, res->files is enough. it would have prevented the previous bug (probably.)


fix `amused add' failure introduced in previous commit don't advance the files pointer, we need the original pointer when receiving the replies.


refactor: group imsg handling the approach with one-function-per-imsg leads to too much code splatted across the file.


amused monitor: allow to pass a list of event as filter it's easier / simpler for scripts to do $ amused monitor next,prev,jump rather than $ amused monitor | egrep --line-buffered 'next|prev|jump'


add back missing memzero


use a more readable strncmp to look for prefixes also while here stick an `else' before the second clausole. We're supposed to trim out only '> ' and ' ', but the missing else would also trim out ' ' after a '> '!


get rid of realpath during load it has a non-ignorable cost over NFS (sdk@ reported ~30 seconds to load 64k songs, and up to 5 minutes over wifi!) and don't provide us any real gain: files can still vanish after being imported or may appear later. The only advantage of realpath was that it would clean up the path from segments like "/./" and resolve the ".." components, but that's a minor issue anyway. prodded by, discussed with and tested by sdk@, thanks a lot!


drop now unused #include <sndio.h> with the recent refactoring, sndio is only visible in player.c


fix argc check argc can be -1 if we called noarg with argc=0, because optind is 1.


correctly handle arguments for sub-commands things like "--" should be skipped etc, easier to rely on getopt(3).


output the two repeat bits in two different lines


ctl_noarg: allow argv == 0 for the implicit "status" case