diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2014-09-19 02:53:32 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2014-09-19 02:53:32 +0000 |
commit | bea0037dbdd979603fb0b5be8b43f5478c1f6fec (patch) | |
tree | 5776ae3af5a3e83d41c7087f70713952b6360988 /src/skaembutils/s6-clock.c | |
download | s6-portable-utils-bea0037dbdd979603fb0b5be8b43f5478c1f6fec.tar.xz |
initial commit
Diffstat (limited to 'src/skaembutils/s6-clock.c')
-rw-r--r-- | src/skaembutils/s6-clock.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/skaembutils/s6-clock.c b/src/skaembutils/s6-clock.c new file mode 100644 index 0000000..822500a --- /dev/null +++ b/src/skaembutils/s6-clock.c @@ -0,0 +1,31 @@ +/* ISC license. */ + +#include <skalibs/allreadwrite.h> +#include <skalibs/strerr2.h> +#include <skalibs/tai.h> + +#define USAGE "s6-clock [ tai64nlabel ]" + +static int getit (void) +{ + char fmt[TIMESTAMP+1] ; + timestamp(fmt) ; + fmt[TIMESTAMP] = '\n' ; + if (allwrite(1, fmt, TIMESTAMP+1) < TIMESTAMP+1) + strerr_diefu1sys(111, "write to stdout") ; + return 0 ; +} + +static int setit (char const *h) +{ + tain_t a ; + if (!timestamp_scan(h, &a)) strerr_dieusage(100, USAGE) ; + if (!tain_setnow(&a)) strerr_diefu1sys(111, "taia_setnow") ; + return 0 ; +} + +int main (int argc, char const *const *argv) +{ + PROG = "s6-clock" ; + return (argc < 2) ? getit() : setit(argv[1]) ; +} |