diff options
Diffstat (limited to 'src/s6-rc/s6-rc-dryrun.c')
-rw-r--r-- | src/s6-rc/s6-rc-dryrun.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/s6-rc/s6-rc-dryrun.c b/src/s6-rc/s6-rc-dryrun.c index f826ca8..99c2c62 100644 --- a/src/s6-rc/s6-rc-dryrun.c +++ b/src/s6-rc/s6-rc-dryrun.c @@ -7,11 +7,12 @@ #include <skalibs/tai.h> #include <skalibs/iopause.h> -#define USAGE "s6-rc-dryrun [ -t timeout ] args..." +#define USAGE "s6-rc-dryrun [ -v verbosity ] [ -t timeout ] args..." #define dieusage() strerr_dieusage(100, USAGE) int main (int argc, char const *const *argv) { + unsigned int verbosity = 1 ; tain_t deadline ; PROG = "s6-rc-dryrun" ; { @@ -19,10 +20,11 @@ int main (int argc, char const *const *argv) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + register int opt = subgetopt_r(argc, argv, "v:t:", &l) ; if (opt == -1) break ; switch (opt) { + case 'v': if (!uint0_scan(l.arg, &verbosity)) dieusage() ; break ; case 't': if (!uint0_scan(l.arg, &t)) dieusage() ; break ; default : strerr_dieusage(100, USAGE) ; } @@ -31,14 +33,17 @@ int main (int argc, char const *const *argv) tain_from_millisecs(&deadline, t) ; } if (!argc) dieusage() ; - buffer_puts(buffer_1, PROG) ; - buffer_put(buffer_1, ":", 1) ; - for (; *argv ; argv++) + if (verbosity) { - buffer_put(buffer_1, " ", 1) ; - buffer_puts(buffer_1, *argv) ; + buffer_puts(buffer_1, PROG) ; + buffer_put(buffer_1, ":", 1) ; + for (; *argv ; argv++) + { + buffer_put(buffer_1, " ", 1) ; + buffer_puts(buffer_1, *argv) ; + } + buffer_putflush(buffer_1, "\n", 1) ; } - buffer_putflush(buffer_1, "\n", 1) ; tain_now_g() ; tain_add_g(&deadline, &deadline) ; deepsleepuntil_g(&deadline) ; |