Index: trunk/BNC/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 2682)
+++ trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 2683)
@@ -232,9 +232,11 @@
                true));
             }
+
+            gnssdata& gnssData = parser.Data;
             
-            for (int iSat = 0; iSat < parser.Data.numsats; iSat++) {
+            for (int iSat = 0; iSat < gnssData.numsats; iSat++) {
 
               p_obs obs   = new t_obs();
-              int   satID = parser.Data.satellites[iSat];
+              int   satID = gnssData.satellites[iSat];
 
               // GPS
@@ -295,6 +297,6 @@
               }
 
-              obs->_o.GPSWeek  = parser.Data.week;
-              obs->_o.GPSWeeks = parser.Data.timeofweek / 1000.0;
+              obs->_o.GPSWeek  = gnssData.week;
+              obs->_o.GPSWeeks = gnssData.timeofweek / 1000.0;
 
               // Loop over all data types
@@ -306,7 +308,7 @@
                 int df  = parser.dataflag[iType];
                 int pos = parser.datapos[iType];
-                if ( (parser.Data.dataflags[iSat] & df)
-                     && !isnan(parser.Data.measdata[iSat][pos])
-                     && !isinf(parser.Data.measdata[iSat][pos])) {
+                if ( (gnssData.dataflags[iSat] & df)
+                     && !isnan(gnssData.measdata[iSat][pos])
+                     && !isinf(gnssData.measdata[iSat][pos])) {
                   obsPresent = true;;
                 }
@@ -314,39 +316,52 @@
                   df  = parser.dataflagGPS[iType];
                   pos = parser.dataposGPS[iType];
-                  if ( (parser.Data.dataflags[iSat] & df)
-                       && !isnan(parser.Data.measdata[iSat][pos])
-                       && !isinf(parser.Data.measdata[iSat][pos])) {
+                  if ( (gnssData.dataflags[iSat] & df)
+                       && !isnan(gnssData.measdata[iSat][pos])
+                       && !isinf(gnssData.measdata[iSat][pos])) {
                     obsPresent = true;
                   }
                 }
+
+                //// beg test
+                if (obs->_o.satSys == 'E') {
+                  cout << obs->_o.satSys << obs->_o.satNum << " " 
+                       << df;
+                  if (obsPresent) {
+                    cout << " present";
+                  }
+                  cout << endl;
+                }
+                //// end test
+
                 if (!obsPresent) { 
                   continue; 
                 }
 
+
                 if      (df & GNSSDF_C1DATA) {
-                  obs->_o.C1 = parser.Data.measdata[iSat][pos];
+                  obs->_o.C1 = gnssData.measdata[iSat][pos];
                 }
                 else if (df & GNSSDF_C2DATA) {
-                  obs->_o.C2 = parser.Data.measdata[iSat][pos];
+                  obs->_o.C2 = gnssData.measdata[iSat][pos];
                 }
                 else if (df & GNSSDF_P1DATA) {
-                  obs->_o.P1 = parser.Data.measdata[iSat][pos];
+                  obs->_o.P1 = gnssData.measdata[iSat][pos];
                 }
                 else if (df & GNSSDF_P2DATA) {
-                  obs->_o.P2 = parser.Data.measdata[iSat][pos];
+                  obs->_o.P2 = gnssData.measdata[iSat][pos];
                 }
                 else if (df & (GNSSDF_L1CDATA|GNSSDF_L1PDATA)) {
-                  obs->_o.L1   = parser.Data.measdata[iSat][pos];
-                  obs->_o.SNR1 = parser.Data.snrL1[iSat];
+                  obs->_o.L1   = gnssData.measdata[iSat][pos];
+                  obs->_o.SNR1 = gnssData.snrL1[iSat];
                 }
                 else if (df & (GNSSDF_L2CDATA|GNSSDF_L2PDATA)) {
-                  obs->_o.L2   = parser.Data.measdata[iSat][pos];
-                  obs->_o.SNR2 = parser.Data.snrL2[iSat];
+                  obs->_o.L2   = gnssData.measdata[iSat][pos];
+                  obs->_o.SNR2 = gnssData.snrL2[iSat];
                 }
                 else if (df & (GNSSDF_S1CDATA|GNSSDF_S1PDATA)) {
-                  obs->_o.S1   = parser.Data.measdata[iSat][pos];
+                  obs->_o.S1   = gnssData.measdata[iSat][pos];
                 }
                 else if (df & (GNSSDF_S2CDATA|GNSSDF_S2PDATA)) {
-                  obs->_o.S2   = parser.Data.measdata[iSat][pos];
+                  obs->_o.S2   = gnssData.measdata[iSat][pos];
                 }
 
@@ -354,11 +369,11 @@
                 // ------------
                 else if (df & GNSSDF_C5DATA) {
-                  obs->_o.C5 = parser.Data.measdata[iSat][pos];
+                  obs->_o.C5 = gnssData.measdata[iSat][pos];
                 }
                 else if (df & GNSSDF_L5DATA) {
-                  obs->_o.L5 = parser.Data.measdata[iSat][pos];
+                  obs->_o.L5 = gnssData.measdata[iSat][pos];
                 }
                 else if (df & GNSSDF_S5DATA) {
-                  obs->_o.S5 = parser.Data.measdata[iSat][pos];
+                  obs->_o.S5 = gnssData.measdata[iSat][pos];
                 }
               }
