Index: /trunk/BNC/src/RTCM/GPSDecoder.cpp
===================================================================
--- /trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 5367)
+++ /trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 5368)
@@ -105,43 +105,10 @@
   }
 
-  int ie = 0;
-  switch(rnxStr[0].toAscii()) {
-  case 'C': ie += GNSSENTRY_CODE;    break;
-  case 'L': ie += GNSSENTRY_PHASE;   break;
-  case 'D': ie += GNSSENTRY_DOPPLER; break;
-  case 'S': ie += GNSSENTRY_SNR;     break;
-  default: return;
+  int ie = iEntry(rnxStr, rnxVers);
+
+  if (ie != -1) {
+    _codetype[ie] = rnxStr.mid(1);
+    _measdata[ie] = value;
   }
-  switch(rnxStr[1].toAscii()) {
-  case '1':
-    switch(rnxStr[2].toAscii()) {
-    default:
-    case 'C':                     ie += GNSSENTRY_TYPEC1;    break;
-    case 'P': case 'W': case 'Y': ie += GNSSENTRY_TYPEP1;    break;
-    case 'A': case 'B':
-    case 'S': case 'L': case 'X': ie += GNSSENTRY_TYPEC1;    break;
-    case 'Z':                     ie += GNSSENTRY_TYPECSAIF; break;
-    }
-    break;
-  case '2':
-    switch(rnxStr[2].toAscii()) {
-    default:
-    case 'P': case 'W': case 'Y':           ie += GNSSENTRY_TYPEP2;  break;
-    case 'C': case 'S': case 'L': case 'X': ie += GNSSENTRY_TYPEC2;  break;
-    case 'I':                               ie += GNSSENTRY_TYPEC5B; break;
-    }
-    break;
-  case '5':
-    ie += GNSSENTRY_TYPEC5;   break;
-  case '6':
-    ie += GNSSENTRY_TYPEC6;   break;
-  case '7':
-    ie += GNSSENTRY_TYPEC5B;  break;
-  case '8':
-    ie += GNSSENTRY_TYPEC5AB; break;
-  }
-
-  _codetype[ie] = rnxStr.mid(1);
-  _measdata[ie] = value;
 }
 
@@ -161,5 +128,4 @@
 //////////////////////////////////////////////////////////////////////////////
 int t_obs::iEntry(QString rnxStr, float rnxVers) const {
-
   if (rnxVers < 3.0) {
     if      (rnxStr == "C1") rnxStr = "C1C";
@@ -168,25 +134,50 @@
     else if (rnxStr == "P2") rnxStr = "C2P";
   }
-
-  for (int ie = 0; ie <  GNSSENTRY_NUMBER; ie++) {
-    if (rnxStr.mid(1) == _codetype[ie]) {
-      if      (rnxStr[0] == 'C') {
-        return ie + GNSSENTRY_CODE;
-      }
-      else if (rnxStr[0] == 'L') {
-        return ie + GNSSENTRY_PHASE;
-      }
-      else if (rnxStr[0] == 'D') {
-        return ie + GNSSENTRY_DOPPLER;
-      }
-      else if (rnxStr[0] == 'S') {
-        return ie + GNSSENTRY_SNR;
-      }
-      else {
-        return -1;
-      }
+  int res = 0;
+  switch(rnxStr[0].toAscii())
+  {
+  case 'C': res += GNSSENTRY_CODE; break;
+  case 'L': res += GNSSENTRY_PHASE; break;
+  case 'D': res += GNSSENTRY_DOPPLER; break;
+  case 'S': res += GNSSENTRY_SNR; break;
+  default:
+    return -1;
+  }
+  switch(rnxStr[1].toAscii())
+  {
+  case '1':
+    switch(rnxStr[2].toAscii())
+    {
+    default:
+    case 'C': res += GNSSENTRY_TYPEC1; break;
+    case 'P': case'W': case 'Y': res += GNSSENTRY_TYPEP1; break;
+    case 'A': case'B':
+    case 'S': case'L': case 'X': res += GNSSENTRY_TYPEC1; break;
+    case 'Z': res += GNSSENTRY_TYPECSAIF; break;
     }
+    break;
+  case '2':
+    switch(rnxStr[2].toAscii())
+    {
+    default:
+    case 'P': case 'W': case 'Y': res += GNSSENTRY_TYPEP2; break;
+    case 'C': case 'S': case 'L': case 'X': res += GNSSENTRY_TYPEC2; break;
+    case 'I': res += GNSSENTRY_TYPEC5B; break;
+    }
+    break;
+  case '5':
+    res += GNSSENTRY_TYPEC5;
+    break;
+  case '6':
+    res += GNSSENTRY_TYPEC6;
+    break;
+  case '7':
+    res += GNSSENTRY_TYPEC5B;
+    break;
+  case '8':
+    res += GNSSENTRY_TYPEC5AB;
+    break;
   }
-  return -1;
+  return res;
 }
 
@@ -201,8 +192,5 @@
     case GNSSENTRY_SNR:     str[0] = 'S'; break;
   }
-  if (!_codetype[iEntry].isEmpty()) {
-    str[1] = _codetype[iEntry][0];
-    str[2] = _codetype[iEntry][1];
-  }
+  str += _codetype[iEntry];
   return str.trimmed();
 }
Index: /trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 5367)
+++ /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 5368)
@@ -785,4 +785,5 @@
                                 QVector<t_polarPoint*>* dataSNR1,
                                 QVector<t_polarPoint*>* dataSNR2) {
+
   if (!_log) {
     return;
