Index: trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 6193)
+++ trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 6213)
@@ -538,12 +538,11 @@
             ColumnVector xc(4);
             ColumnVector vv(3);
-            eph->getCrd(bncTime(oneObs->_GPSWeek, oneObs->_GPSWeeks), xc, vv, false);
-          
-            double rho, eleSat, azSat;
-            topos(xyzSta(1), xyzSta(2), xyzSta(3), xc(1), xc(2), xc(3), rho, eleSat, azSat);
-          
-            aziDeg = azSat * 180.0/M_PI;
-            zenDeg = 90.0 - eleSat * 180.0/M_PI;
-            zenFlag = true;
+            if (eph->getCrd(bncTime(oneObs->_GPSWeek, oneObs->_GPSWeeks), xc, vv, false) == success) {
+              double rho, eleSat, azSat;
+              topos(xyzSta(1), xyzSta(2), xyzSta(3), xc(1), xc(2), xc(3), rho, eleSat, azSat);
+              aziDeg = azSat * 180.0/M_PI;
+              zenDeg = 90.0 - eleSat * 180.0/M_PI;
+              zenFlag = true;
+            }
           }
         }
@@ -742,14 +741,15 @@
     }
     if (eph) {
-      ++nSatUsed;
       ColumnVector xSat(4);
       ColumnVector vv(3);
-      eph->getCrd(_currEpo->tt, xSat, vv, false);
-      ColumnVector dx = xSat.Rows(1,3) - xyzSta;
-      double rho = dx.norm_Frobenius();
-      AA(nSatUsed,1) = dx(1) / rho;
-      AA(nSatUsed,2) = dx(2) / rho;
-      AA(nSatUsed,3) = dx(3) / rho;
-      AA(nSatUsed,4) = 1.0;
+      if (eph->getCrd(_currEpo->tt, xSat, vv, false) == success) {
+        ++nSatUsed;
+        ColumnVector dx = xSat.Rows(1,3) - xyzSta;
+        double rho = dx.norm_Frobenius();
+        AA(nSatUsed,1) = dx(1) / rho;
+        AA(nSatUsed,2) = dx(2) / rho;
+        AA(nSatUsed,3) = dx(3) / rho;
+        AA(nSatUsed,4) = 1.0;
+      }
     }
   }
