Index: /trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h
===================================================================
--- /trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h	(revision 10223)
+++ /trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h	(revision 10224)
@@ -16,4 +16,5 @@
 #include <math.h>
 #include "t_prn.h"
+#include "bncutils.h"
 
 enum IGS_NUMBERS {
@@ -422,6 +423,6 @@
 #define STARTDATA \
   size_t ressize=0; \
-  char *blockstart; \
-  int numbits; \
+  char *blockstart=0; \
+  int numbits=0; \
   uint64_t bitbuffer=0;
 
@@ -518,18 +519,4 @@
 #define T_VTEC_QUALITY_INDICATOR(a)      SCALEADDBITS( 9,       20.0, a) /* DF478, IDF041 */
 
-static uint32_t CRC24(long size, const unsigned char *buf) {
-  uint32_t crc = 0;
-  int ii;
-  while (size--) {
-    crc ^= (*buf++) << (16);
-    for (ii = 0; ii < 8; ii++)  {
-      crc <<= 1;
-      if (crc & 0x1000000)
-        crc ^= 0x01864cfb;
-    }
-  }
-  return crc;
-}
-
 static double URAToValue(int ura) {
   int urac, urav;
Index: /trunk/BNC/src/combination/bnccomb.cpp
===================================================================
--- /trunk/BNC/src/combination/bnccomb.cpp	(revision 10223)
+++ /trunk/BNC/src/combination/bnccomb.cpp	(revision 10224)
@@ -625,5 +625,5 @@
   corr->_orbCorr._xr    += dRAO;
   corr->_orbCorr._dotXr += dDotRAO;
-  corr->_clkCorr._dClk  -= dC;
+  corr->_clkCorr->_dClk  -= dC;
 }
 
@@ -633,5 +633,5 @@
 
   for (unsigned ii = 0; ii < clkCorrVec.size(); ii++) {
-    const t_clkCorr* clkCorr = clkCorrVec.at(ii);
+    t_clkCorr* clkCorr = clkCorrVec.at(ii);
     QString    staID(clkCorr->_staID.c_str());
     QString    prn(clkCorr->_prn.toInternalString().c_str());
@@ -660,5 +660,5 @@
     newCorr->_acName       = acName;
     newCorr->_weightFactor = weigthFactor;
-    newCorr->_clkCorr      = t_clkCorr(static_cast<t_clkCorr>(*clkCorr));
+    newCorr->_clkCorr      = clkCorr;
 
     // Check orbit correction
@@ -784,4 +784,5 @@
     QTextStream out(&_log, QIODevice::WriteOnly);
     processSystem(epoTime, sys, out);
+    _buffer.remove(sys);
     emit newMessage(_log, false);
   }
@@ -893,5 +894,5 @@
   }
 
-  _buffer.remove(sys);
+  //_buffer.remove(sys);
 }
 
@@ -1045,5 +1046,5 @@
 
     // CLOCK
-    t_clkCorr clkCorr(corr->_clkCorr);
+    t_clkCorr clkCorr(static_cast<t_clkCorr>(*corr->_clkCorr));
     clkCorr._staID      = "INTERNAL";
     clkCorr._dClk       = corr->_dClkResult;
@@ -1185,5 +1186,5 @@
     }
 
-    ll(iObs) = (corr->_clkCorr._dClk * t_CST::c - corr->_satCodeBiasIF) - DotProduct(AA.Row(iObs), x0);
+    ll(iObs) = (corr->_clkCorr->_dClk * t_CST::c - corr->_satCodeBiasIF) - DotProduct(AA.Row(iObs), x0);
 
     PP(iObs, iObs) *= 1.0 / (corr->_weightFactor * corr->_weightFactor);
Index: /trunk/BNC/src/combination/bnccomb.h
===================================================================
--- /trunk/BNC/src/combination/bnccomb.h	(revision 10223)
+++ /trunk/BNC/src/combination/bnccomb.h	(revision 10224)
@@ -99,4 +99,5 @@
     cmbCorr() {
       _eph                        = 0;
+      _clkCorr                    = 0;
       _iod                        = 0;
       _dClkResult                 = 0.0;
@@ -104,5 +105,7 @@
       _weightFactor               = 1.0;
     }
-    ~cmbCorr() {}
+    ~cmbCorr() {
+
+    }
     QString        _prn;
     bncTime        _time;
@@ -110,5 +113,5 @@
     t_eph*         _eph;
     t_orbCorr      _orbCorr;
-    t_clkCorr      _clkCorr;
+    t_clkCorr*     _clkCorr;
     t_satCodeBias  _satCodeBias;
     QString        _acName;
