Index: trunk/BNC/src/rinex/bncpostprocess.cpp
===================================================================
--- trunk/BNC/src/rinex/bncpostprocess.cpp	(revision 4389)
+++ trunk/BNC/src/rinex/bncpostprocess.cpp	(revision 4391)
@@ -118,7 +118,6 @@
 
   for (int iType = 0; iType < rnxObsFile->nTypes(obs.satSys); iType++) {
-    QByteArray type = rnxObsFile->obsType(obs.satSys,iType).toAscii();
-    int iEntry = obs.str2entry(type.data());
-    obs._measdata[iEntry] = rnxSat.obs[iType];
+    QString type = rnxObsFile->obsType(obs.satSys,iType).toAscii();
+    obs.setMeasdata(type, rnxSat.obs[iType]);
     // TOOD: handle slip flags
   }
Index: trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4389)
+++ trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4391)
@@ -237,13 +237,16 @@
   // Compute the Multipath
   // ----------------------
-  if (obs.l1() != 0.0 && obs.l2() != 0.0) {
+  double L1 = obs.measdata("L1");
+  double L2 = obs.measdata("L2");
+  if (L1 != 0.0 && L2 != 0.0) {
     double f1 = t_CST::f1(obs.satSys, obs.slotNum);
     double f2 = t_CST::f2(obs.satSys, obs.slotNum);
 
-    double L1 = obs.l1() * t_CST::c / f1;
-    double L2 = obs.l2() * t_CST::c / f2;
-
-    if (obs.p1() != 0.0) {
-      newObs->_MP1 = obs.p1() - L1 - 2.0*f2*f2/(f1*f1-f2*f2) * (L1 - L2);
+    L1 = L1 * t_CST::c / f1;
+    L2 = L2 * t_CST::c / f2;
+
+    double P1 = obs.measdata("P1");
+    if (P1 != 0.0) {
+      newObs->_MP1 = P1 - L1 - 2.0*f2*f2/(f1*f1-f2*f2) * (L1 - L2);
       okFlag = true;
 
@@ -255,6 +258,7 @@
       //// end test
     }
-    if (obs.p2() != 0.0) {
-      newObs->_MP2 = obs.p2() - L2 - 2.0*f1*f1/(f1*f1-f2*f2) * (L1 - L2);
+    double P2 = obs.measdata("P2");
+    if (P2 != 0.0) {
+      newObs->_MP2 = P2 - L2 - 2.0*f1*f1/(f1*f1-f2*f2) * (L1 - L2);
       okFlag = true;
     }
