plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit d20564a9a6d75192ec21170f2c6cd699eb361d96
parent 2bdefab1da7bc64f433cba5871fc57d5524a06e1
Author: rsc <devnull@localhost>
Date:   Tue, 18 Jul 2006 15:23:58 +0000

add vttimefmt

Diffstat:
Minclude/venti.h | 2++
Msrc/libventi/mkfile | 1+
Asrc/libventi/time.c | 25+++++++++++++++++++++++++
3 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/include/venti.h b/include/venti.h @@ -488,6 +488,8 @@ uvlong vtfilegetsize(VtFile*); int vtfilesetsize(VtFile*, u64int); int vtfileremove(VtFile*); +extern int vttimefmt(Fmt*); + extern int chattyventi; extern int ventidoublechecksha1; extern int ventilogging; diff --git a/src/libventi/mkfile b/src/libventi/mkfile @@ -27,6 +27,7 @@ OFILES=\ srvhello.$O\ strdup.$O\ string.$O\ + time.$O\ version.$O\ zero.$O\ zeroscore.$O\ diff --git a/src/libventi/time.c b/src/libventi/time.c @@ -0,0 +1,25 @@ +#include <u.h> +#include <libc.h> +#include <venti.h> + +int +vttimefmt(Fmt *fmt) +{ + vlong ns; + Tm tm; + + if(fmt->flags&FmtLong){ + ns = nsec(); + tm = *localtime(ns/1000000000); + return fmtprint(fmt, "%04d/%02d%02d %02d:%02d:%02d.%03d", + tm.year+1900, tm.mon+1, tm.mday, + tm.hour, tm.min, tm.sec, + (int)(ns%1000000000)/1000000); + }else{ + tm = *localtime(time(0)); + return fmtprint(fmt, "%04d/%02d%02d %02d:%02d:%02d", + tm.year+1900, tm.mon+1, tm.mday, + tm.hour, tm.min, tm.sec); + } +} +