Index: trunk/BNC/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 1210)
+++ trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 1218)
@@ -121,5 +121,7 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-t_irc RTCM3Decoder::Decode(char* buffer, int bufLen) {
+t_irc RTCM3Decoder::Decode(char* buffer, int bufLen, vector<string>& errmsg) {
+
+  errmsg.clear();
 
   bool decoded = false;
@@ -128,5 +130,5 @@
   // -----------------------------------------
   if (_mode == unknown || _mode == corrections) {
-    if ( _coDecoder->Decode(buffer, bufLen) == success ) {
+    if ( _coDecoder->Decode(buffer, bufLen, errmsg) == success ) {
       decoded = true;
 
@@ -354,4 +356,16 @@
             decoded = true;
             gpsephemeris* ep = new gpsephemeris(_Parser.ephemerisGPS);
+
+#ifdef DEBUG_RTCM2_2021
+            QString msg = QString("%1: got eph %2 IODC %3 GPSweek %4 TOC %5 TOE %6")
+              .arg(_staID)
+              .arg(ep->satellite, 2)
+              .arg(ep->IODC,      4)
+              .arg(ep->GPSweek,   4)
+              .arg(ep->TOC,       6)
+              .arg(ep->TOE,       6);
+            emit(newMessage(msg.toAscii()));
+#endif
+
             emit newGPSEph(ep);
           }
Index: trunk/BNC/RTCM3/RTCM3Decoder.h
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.h	(revision 1210)
+++ trunk/BNC/RTCM3/RTCM3Decoder.h	(revision 1218)
@@ -40,5 +40,5 @@
   RTCM3Decoder(const QString& fileName);
   virtual ~RTCM3Decoder();
-  virtual t_irc Decode(char* buffer = 0, int bufLen = 0);
+  virtual t_irc Decode(char* buffer, int bufLen, std::vector<std::string>& errmsg);
  signals:
   void newMessage(QByteArray msg);
Index: trunk/BNC/RTCM3/RTCM3coDecoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3coDecoder.cpp	(revision 1210)
+++ trunk/BNC/RTCM3/RTCM3coDecoder.cpp	(revision 1218)
@@ -109,5 +109,7 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-t_irc RTCM3coDecoder::Decode(char* buffer, int bufLen) {
+t_irc RTCM3coDecoder::Decode(char* buffer, int bufLen, vector<string>& errmsg) {
+
+  errmsg.clear();
 
   _buffer.append(buffer, bufLen);
Index: trunk/BNC/RTCM3/RTCM3coDecoder.h
===================================================================
--- trunk/BNC/RTCM3/RTCM3coDecoder.h	(revision 1210)
+++ trunk/BNC/RTCM3/RTCM3coDecoder.h	(revision 1218)
@@ -42,5 +42,5 @@
   RTCM3coDecoder(const QString& staID);
   virtual ~RTCM3coDecoder();
-  virtual t_irc Decode(char* buffer = 0, int bufLen = 0);
+  virtual t_irc Decode(char* buffer, int bufLen, std::vector<std::string>& errmsg);
 
  signals:
