C is hard.
--
[1] https://github.com/clibs/clib/blob/master/src/clib-install.c...
[2] https://github.com/clibs/clib/blob/master/deps/fs/fs.c
[3] https://github.com/clibs/clib/blob/master/deps/str-copy/str-...
[4] https://github.com/clibs/clib/blob/master/deps/http-get/http...
char *url = malloc(256);
if(NULL == file) goto e1;
sprintf(file,"%s-%s.tar.gz",pkg->name,pkg->version);
C is unforgiving indeed.Also what's up with all those (0 == count) yoda conditionals all over? Is that becoming a thing again?
[1] https://github.com/clibs/clib/blob/master/src/clib-install.c
[2] As far as I can tell, the package info from the wiki is dealt with by functions in deps/clib-package.c that, despite promising names like json_object_get_string_safe, do not ever validate the provided name or version string:
https://github.com/clibs/clib/blob/master/deps/clib-package/...