docmd
docmd(opts, msg, Rm, "-f", fn_s(fnp), NULL);
docmd(opts, "-a cmd", Sh, "-c", lhs, NULL);
docmd(opts, "compress old log (-z flag)", Gzip, "-f", lhs, NULL);
static void docmd(struct opts *opts, const char *msg, const char *cmd,
docmd(opts, NULL, Touch, fname, NULL, NULL);
docmd(opts, NULL, Chown, owner, fname, NULL);
docmd(opts, NULL, Chmod, mode, fname, NULL);
docmd(opts, "-R cmd", Sh, "-c", fn_s(cmd), NULL);
docmd(opts, "-b cmd", Sh, "-c", cmd, NULL);
docmd(opts, "verify directory exists", Mkdir, "-p",
docmd(opts, "-M cmd", Sh, "-c", fn_s(cmd), NULL);
docmd(opts, "rotate log file", Mv, "-f",
docmd(opts, msg, Sh, "-c", fn_s(cmd), NULL);
int docmd = PO_FALSE;
docmd = PO_TRUE;
if (docmd == PO_TRUE)
if (docmd == PO_FALSE && dofile == PO_FALSE)
if (docmd(cmd, destfile, input)) {
static int docmd(char *cmd, char *file, char *input);