Index: trunk/BNC/bncephuser.cpp
===================================================================
--- trunk/BNC/bncephuser.cpp	(revision 3670)
+++ trunk/BNC/bncephuser.cpp	(revision 3671)
@@ -154,13 +154,15 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-void bncEphUser::putNewEph(t_eph* newEph) {
+t_irc bncEphUser::putNewEph(t_eph* newEph) {
 
   QMutexLocker locker(&_mutex);
 
   if (!newEph) {
-    return;
+    return failure;
   }
 
   QString prn = newEph->prn();
+
+  t_irc irc = failure;
 
   if (_eph.contains(prn)) {
@@ -170,10 +172,17 @@
       _eph.value(prn)->prev = _eph.value(prn)->last;
       _eph.value(prn)->last = newEph;
+      irc = success;
     }
   }
   else {
     _eph.insert(prn, new t_ephPair(newEph));
-  }
-  ephBufferChanged();
+    irc = success;
+  }
+
+  if (irc == success) {
+    ephBufferChanged();
+  }
+
+  return irc;
 }
 
Index: trunk/BNC/bncephuser.h
===================================================================
--- trunk/BNC/bncephuser.h	(revision 3670)
+++ trunk/BNC/bncephuser.h	(revision 3671)
@@ -105,5 +105,5 @@
   }
 
-  void putNewEph(t_eph* eph);
+  t_irc putNewEph(t_eph* eph);
 
  public slots:
Index: trunk/BNC/bncpostprocess.cpp
===================================================================
--- trunk/BNC/bncpostprocess.cpp	(revision 3670)
+++ trunk/BNC/bncpostprocess.cpp	(revision 3671)
@@ -97,7 +97,9 @@
   cout << "corrFile: " << _opt->corrFileName.toAscii().data() << endl;
 
-  t_eph* eph;
+  t_eph* eph = 0;
   while (_rnxNavFile->getNextEph(eph) == success) {
-    _pppClient->putNewEph(eph);
+    if (_pppClient->putNewEph(eph) != success) {
+      delete eph; eph = 0;
+    }
   }
 
