Index: trunk/BNC/rinex/reqcedit.cpp
===================================================================
--- trunk/BNC/rinex/reqcedit.cpp	(revision 4255)
+++ trunk/BNC/rinex/reqcedit.cpp	(revision 4256)
@@ -276,17 +276,10 @@
 }
 
-//  
-////////////////////////////////////////////////////////////////////////////
-void t_reqcEdit::editEphemerides() {
-
-  // Easy Exit
-  // ---------
-  if (_navFileNames.isEmpty() || _outNavFileName.isEmpty()) {
-    return;
-  }
-
-  // Read All Ephemerides
-  // --------------------
-  QStringListIterator it(_navFileNames);
+/// Read All Ephemerides
+////////////////////////////////////////////////////////////////////////////
+void t_reqcEdit::readEphemerides(const QStringList& navFileNames,
+                                 QVector<t_eph*>& ephs) {
+
+  QStringListIterator it(navFileNames);
   while (it.hasNext()) {
     QString fileName = it.next();
@@ -298,12 +291,25 @@
       while (it.hasNext()) {
         QString filePath = it.next().filePath(); 
-        appendEphemerides(filePath);
+        appendEphemerides(filePath, ephs);
       }
     }
     else {
-      appendEphemerides(fileName);
-    }
-  }
-  qStableSort(_ephs.begin(), _ephs.end(), t_eph::earlierTime);
+      appendEphemerides(fileName, ephs);
+    }
+  }
+  qStableSort(ephs.begin(), ephs.end(), t_eph::earlierTime);
+}
+
+//  
+////////////////////////////////////////////////////////////////////////////
+void t_reqcEdit::editEphemerides() {
+
+  // Easy Exit
+  // ---------
+  if (_navFileNames.isEmpty() || _outNavFileName.isEmpty()) {
+    return;
+  }
+
+  t_reqcEdit::readEphemerides(_navFileNames, _ephs);
 
   // Check Satellite Systems
@@ -357,5 +363,6 @@
 //  
 ////////////////////////////////////////////////////////////////////////////
-void t_reqcEdit::appendEphemerides(const QString& fileName) {
+void t_reqcEdit::appendEphemerides(const QString& fileName,
+                                   QVector<t_eph*>& ephs) {
 
   t_rnxNavFile rnxNavFile(fileName, t_rnxNavFile::input);
@@ -363,6 +370,6 @@
     t_eph* eph   = rnxNavFile.ephs()[ii];
     bool   isNew = true;
-    for (int iOld = 0; iOld < _ephs.size(); iOld++) {
-      const t_eph* ephOld = _ephs[iOld];
+    for (int iOld = 0; iOld < ephs.size(); iOld++) {
+      const t_eph* ephOld = ephs[iOld];
       if (ephOld->prn() == eph->prn() && ephOld->TOC() == eph->TOC()) {
         isNew = false;
@@ -372,13 +379,13 @@
     if (isNew) {
       if      (eph->type() == t_eph::GPS) {
-        _ephs.append(new t_ephGPS(*dynamic_cast<t_ephGPS*>(eph)));
+        ephs.append(new t_ephGPS(*dynamic_cast<t_ephGPS*>(eph)));
       }
       else if (eph->type() == t_eph::GLONASS) {
-        _ephs.append(new t_ephGlo(*dynamic_cast<t_ephGlo*>(eph)));
+        ephs.append(new t_ephGlo(*dynamic_cast<t_ephGlo*>(eph)));
       }
       else if (eph->type() == t_eph::Galileo) {
-        _ephs.append(new t_ephGal(*dynamic_cast<t_ephGal*>(eph)));
-      }
-    }
-  }
-}
+        ephs.append(new t_ephGal(*dynamic_cast<t_ephGal*>(eph)));
+      }
+    }
+  }
+}
Index: trunk/BNC/rinex/reqcedit.h
===================================================================
--- trunk/BNC/rinex/reqcedit.h	(revision 4255)
+++ trunk/BNC/rinex/reqcedit.h	(revision 4256)
@@ -49,4 +49,7 @@
   static void initRnxObsFiles(const QStringList& obsFileNames, 
                               QVector<t_rnxObsFile*>& rnxObsFiles);
+  static void readEphemerides(const QStringList& navFileNames,
+                              QVector<t_eph*>& ephs);
+  static void appendEphemerides(const QString& fileName, QVector<t_eph*>& ephs);
  
  private:
@@ -56,5 +59,4 @@
   void rememberLLI(const t_rnxObsFile* obsFile, const t_rnxObsFile::t_rnxEpo* epo);
   void applyLLI(const t_rnxObsFile* obsFile, t_rnxObsFile::t_rnxEpo* epo);
-  void appendEphemerides(const QString& fileName);
 
   QStringList            _obsFileNames;
