Index: /trunk/BNC/src/RTCM/GPSDecoder.cpp
===================================================================
--- /trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 4403)
+++ /trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 4404)
@@ -114,4 +114,26 @@
 //////////////////////////////////////////////////////////////////////////////
 int t_obs::iEntry(const QString& rnxStr, float rnxVers) const {
+  if (rnxVers >= 3.0) {
+    return iEntryV3(rnxStr);
+  }
+
+  if      (rnxStr == "C1") return iEntryV3("C1C");
+  else if (rnxStr == "P1") return iEntryV3("C1P");
+  else if (rnxStr == "C2") return iEntryV3("C2C");
+  else if (rnxStr == "P2") return iEntryV3("C2P");
+
+  const QString chars = "CPWZI ";
+  for (int ii = 0; ii < chars.length(); ii++) {
+    QString hlpStr = rnxStr + chars[ii];
+    int ie = iEntryV3(hlpStr.trimmed());
+    if (ie != -1) return ie;
+  }
+
+  return -1;
+}
+
+// 
+//////////////////////////////////////////////////////////////////////////////
+int t_obs::iEntryV3(const QString& rnxStr) const {
 
   int retVal = -1;
Index: /trunk/BNC/src/RTCM/GPSDecoder.h
===================================================================
--- /trunk/BNC/src/RTCM/GPSDecoder.h	(revision 4403)
+++ /trunk/BNC/src/RTCM/GPSDecoder.h	(revision 4404)
@@ -82,4 +82,5 @@
  private:
   int iEntry(const QString& rnxStr, float rnxVer) const;
+  int iEntryV3(const QString& rnxStr) const;
 };
 
