Index: /trunk/BNC/bncmodel.cpp
===================================================================
--- /trunk/BNC/bncmodel.cpp	(revision 3399)
+++ /trunk/BNC/bncmodel.cpp	(revision 3400)
@@ -1152,14 +1152,25 @@
 // 
 ///////////////////////////////////////////////////////////////////////////
-void bncModel::printRes(int iPhase, const ColumnVector& vv, 
-                        ostringstream& str, t_satData* satData) {
+QByteArray bncModel::printRes(int iPhase, const ColumnVector& vv, 
+                              const QMap<QString, t_satData*>& satDataMap) {
+
   Tracer tracer("bncModel::printRes");
 
-  if (satData->obsIndex != 0) {
-    str << _time.timestr(1)
-        << " RES " << satData->prn.toAscii().data() 
-        << (iPhase ? "   L3 " : "   P3 ")
-        << setw(9) << setprecision(4) << vv(satData->obsIndex) << endl;
-  }
+  ostringstream str;
+  str.setf(ios::fixed);
+        
+  QMapIterator<QString, t_satData*> it(satDataMap);
+  while (it.hasNext()) {
+    it.next();
+    t_satData* satData = it.value();
+    if (satData->obsIndex != 0) {
+      str << _time.timestr(1)
+          << " RES " << satData->prn.toAscii().data() 
+          << (iPhase ? "   L3 " : "   P3 ")
+          << setw(9) << setprecision(4) << vv(satData->obsIndex) << endl;
+    }
+  }
+
+  return QByteArray(str.str().c_str());
 }
 
@@ -1236,4 +1247,7 @@
         continue;
       }
+
+      QByteArray strResCode;
+      QByteArray strResPhase;
 
       // First update using code observations, then phase observations
@@ -1279,4 +1293,13 @@
         ColumnVector vv = ll - AA * dx;
         
+        // Print Residuals
+        // ---------------
+        if (iPhase == 0) {
+          strResCode  = printRes(iPhase, vv, epoData->satData);
+        }
+        else {
+          strResPhase = printRes(iPhase, vv, epoData->satData);
+        }
+
         // Check the residuals
         // -------------------
@@ -1308,18 +1331,5 @@
           }
 
-          // Print Residuals
-          // ---------------
-          ostringstream str;
-          str.setf(ios::fixed);
-        
-          QMapIterator<QString, t_satData*> it(epoData->satData);
-          while (it.hasNext()) {
-            it.next();
-            t_satData* satData = it.value();
-            if (iPhase == 1 || satData->system() != 'R') {
-              printRes(iPhase, vv, str, satData);
-            }
-          }
-          _log += str.str().c_str();
+          _log += strResCode + strResPhase;
         
           return success;
Index: /trunk/BNC/bncmodel.h
===================================================================
--- /trunk/BNC/bncmodel.h	(revision 3399)
+++ /trunk/BNC/bncmodel.h	(revision 3400)
@@ -100,6 +100,6 @@
   void   addObs(int iPhase, unsigned& iObs, t_satData* satData,
                 Matrix& AA, ColumnVector& ll, DiagonalMatrix& PP);
-  void   printRes(int iPhase, const ColumnVector& vv, 
-                  std::ostringstream& str, t_satData* satData);
+  QByteArray printRes(int iPhase, const ColumnVector& vv, 
+                      const QMap<QString, t_satData*>& satDataMap);
   void   findMaxRes(const ColumnVector& vv,
                     const QMap<QString, t_satData*>& satData,
