Commit Diff


commit - 7e0b68623394068aec66fe388e0fa446f598c11e
commit + ece9d931eb41e9693c9c3b5e29c6e514bb328713
blob - 165355998e04f787d5d085066d205a43609e43ed
blob + 47da0328accca2bd23d0818ca73e3d0745e46d74
--- src/libventi/log.c
+++ src/libventi/log.c
@@ -162,18 +162,6 @@ vtlogremove(char *name)
 	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)
 {
@@ -184,13 +172,7 @@ 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
@@ -8,15 +8,18 @@ vttimefmt(Fmt *fmt)
 	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);