--- util/ntptime.c.orig	Sat Apr 24 08:50:49 1999
+++ util/ntptime.c	Sat Jun 26 07:52:53 1999
@@ -235,7 +235,7 @@
 					--pll_control;
 				if (pll_control < 0)
 					break;
-				times[c] = ntv.time.tv_usec;
+				times[c] = ntv.time.tv_nsec/1000;
 			}
 #ifdef SIGSYS
 		}
@@ -281,19 +281,19 @@
 	else {
 		printf("ntp_gettime() returns code %d (%s)\n",
 		    status, timex_state(status));
-		time_frac = ntv.time.tv_usec;
+		time_frac = ntv.time.tv_nsec/1000;
 #ifdef STA_NANO
 		if (flash & STA_NANO) {
-			ntv.time.tv_usec /= 1000;
+			ntv.time.tv_nsec /= 1000000;
 			ts_mask = 0xfffffffc;	/* 1/2^30 */
 			ts_roundbit = 0x00000002;
 			fdigits = 9;
 		}
 #endif
-		TVTOTS(&ntv.time, &ts);
+		ts.l_uf = ntv.time.tv_nsec;
+		ts.l_uf *= 4.294967296;
+		ts.l_ui = ntv.time.tv_sec;
 		ts.l_ui += JAN_1970;
-		ts.l_uf += ts_roundbit;
-		ts.l_uf &= ts_mask;
 		printf("  time %s, (.%0*d),\n",
 		       prettydate(&ts), fdigits, (int) time_frac);
 		printf("  maximum error %lu us, estimated error %lu us.\n",
