summaryrefslogtreecommitdiff
path: root/src/s6-rc/s6-rc-dryrun.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/s6-rc/s6-rc-dryrun.c')
-rw-r--r--src/s6-rc/s6-rc-dryrun.c21
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) ;