#include #include "loop_args.h" int loop_args(char **args, int (*callback)(char *argv, bool isstdin)) { if (*args == NULL) { return callback(*args, true); } int stickyErr = 0; while (*args != NULL) { int res = 0; if (!strcmp(*args, "-")) { res = callback(*args, true); } else { res = callback(*args, false); } if (res > 0) return res; else if (res < 0 && stickyErr == 0) stickyErr = -res; args++; } return stickyErr; }