Index: branches/BNC_2.12/src/ephemeris.cpp
===================================================================
--- branches/BNC_2.12/src/ephemeris.cpp	(revision 8803)
+++ branches/BNC_2.12/src/ephemeris.cpp	(revision 8804)
@@ -442,7 +442,7 @@
     out << QString(fmt)
       .arg(_IDOT,    19, 'e', 12)
-      .arg("",       19, QChar(' '))
+      .arg(0.0,      19, 'e', 12)
       .arg(_TOEweek, 19, 'e', 12)
-      .arg("",       19, QChar(' '));
+      .arg(0.0,      19, 'e', 12);
   }
   else {
@@ -459,5 +459,5 @@
       .arg(_health, 19, 'e', 12)
       .arg(_TGD,    19, 'e', 12)
-      .arg("",       19, QChar(' '));
+      .arg(0.0,     19, 'e', 12);
   }
   else {
@@ -476,5 +476,5 @@
     out << QString(fmt)
       .arg(tot,          19, 'e', 12)
-      .arg("",           19, QChar(' '))
+      .arg(0.0,          19, 'e', 12)
       .arg("",           19, QChar(' '))
       .arg("",           19, QChar(' '));
@@ -548,5 +548,5 @@
       _TOC.set(year, month, day, hour, min, sec);
       _TOC  = _TOC + _gps_utc;
-
+      int nd = int((_TOC.gpssec())) / (24.0*60.0*60.0);
       if ( readDbl(line, pos[1], fieldLen, _tau  ) ||
            readDbl(line, pos[2], fieldLen, _gamma) ||
@@ -555,6 +555,6 @@
         return;
       }
-
-      _tau = -_tau;
+      _tki -= nd * 86400.0;
+      _tau  = -_tau;
     }
 
@@ -654,12 +654,12 @@
 QString t_ephGlo::toString(double version) const {
 
-  QString rnxStr = rinexDateStr(_TOC-_gps_utc, _prn, version);
-
+  QString rnxStr = rinexDateStr(_TOC -_gps_utc, _prn, version);
+  int nd = int((_TOC - _gps_utc).gpssec()) / (24.0*60.0*60.0);
   QTextStream out(&rnxStr);
 
   out << QString("%1%2%3\n")
-    .arg(-_tau,  19, 'e', 12)
-    .arg(_gamma, 19, 'e', 12)
-    .arg(_tki,   19, 'e', 12);
+    .arg(-_tau,           19, 'e', 12)
+    .arg(_gamma,          19, 'e', 12)
+    .arg(_tki+nd*86400.0, 19, 'e', 12);
 
   QString fmt = version < 3.0 ? "   %1%2%3%4\n" : "    %1%2%3%4\n";
Index: branches/BNC_2.12/src/ephemeris.h
===================================================================
--- branches/BNC_2.12/src/ephemeris.h	(revision 8803)
+++ branches/BNC_2.12/src/ephemeris.h	(revision 8804)
@@ -40,4 +40,5 @@
   static QString rinexDateStr(const bncTime& tt, const QString& prnStr, double version);
   static bool earlierTime(const t_eph* eph1, const t_eph* eph2) {return eph1->_TOC < eph2->_TOC;}
+  static bool prnSort(const t_eph* eph1, const t_eph* eph2) {return eph1->prn() < eph2->prn();}
 
  protected:
@@ -134,5 +135,5 @@
   double  _L2Codes;         // Codes on L2 channel  (not valid for IRNSS)
   double  _TOEweek;
-  double  _L2PFlag;         // L2 P data flag (not valid for IRNSS)
+  double  _L2PFlag;         // L2 P data flag (not valid for IRNSS and QZSS)
 
   mutable double  _ura;     // SV accuracy
@@ -141,5 +142,5 @@
   double  _IODC;            // (not valid for IRNSS)
 
-  double  _TOT;             // Transmisstion time
+  double  _TOT;             // Transmission time
   double  _fitInterval;     // Fit interval (not valid for IRNSS)
 
