Commits


free the FILE on op_open_callbacks failure the API is a bit of a shitshow. op_fdopen is just a wrapper around FILE*, but returns void* for don't know what Windows limitation. if op_open_callbacks fails we have to free the stream by ourselves. the documentation implies that this void* pointer is, in fact, a FILE*.


don't sio_start if we're not stopped


don't POLLIN, we only care about POLLOUT


don't change params if they're the same avoids a sio_stop in the common case of switching from song that needs similar params (such as tracks in the same album.)


inline player_init


switch to a non-blocking usage of sndio


s/player_setrate/player_setup when the function was renamed, the error messages weren't.


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 unnecessary temp variable in main_restart_track


fmt; fold long lines


use getprogname(3) instead of __progname might help with portability, see for e.g. GitHub issue #1


avoid unnecessary initialization we're just gonna memcpy all over path again a couple of lines before; a smart compiler will probably ignore the initialization anyway.


free the imsg in player after handling, plugs a memory leak