commit - 7e0b68623394068aec66fe388e0fa446f598c11e
commit + ece9d931eb41e9693c9c3b5e29c6e514bb328713
blob - 165355998e04f787d5d085066d205a43609e43ed
blob + 47da0328accca2bd23d0818ca73e3d0745e46d74
--- src/libventi/log.c
+++ src/libventi/log.c
qunlock(&vl.lk);
}
-static int
-timefmt(Fmt *fmt)
-{
- static uvlong t0;
- uvlong t;
-
- if(t0 == 0)
- t0 = nsec();
- t = nsec()-t0;
- return fmtprint(fmt, "T+%d.%04d", (uint)(t/1000000000), (uint)(t%1000000000)/100000);
-}
-
void
vtlogvprint(VtLog *l, char *fmt, va_list arg)
{
if(l == nil)
return;
-
- if(first){
- fmtinstall('T', timefmt);
- first = 0;
- }
-
-
+
qlock(&l->lk);
c = l->w;
n = c->ep - c->wp;
blob - 2d8058f132287a89de5c01ae7b04ff90c05161cf
blob + eb686b32963a870552b707d8205e32982c4f45bd
--- src/libventi/time.c
+++ src/libventi/time.c
vlong ns;
Tm tm;
- if(fmt->flags&FmtLong){
+ if(fmt->flags&FmtSign){
+ ns = va_arg(fmt->args, long);
+ ns *= 1000000000;
+ } else
ns = nsec();
- tm = *localtime(ns/1000000000);
+ tm = *localtime(ns/1000000000);
+ if(fmt->flags&FmtLong){
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);