Index: /trunk/BNC/src/PPP/pppRun.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppRun.cpp	(revision 5987)
+++ /trunk/BNC/src/PPP/pppRun.cpp	(revision 5988)
@@ -116,13 +116,33 @@
   _stopFlag = false;
 
+  QString roverName(_opt->_roverName.c_str());
+
   QString logFileSkl = settings.value("PPP/logFile").toString();
-  QString roverName(_opt->_roverName.c_str());
-  if (logFileSkl.indexOf("${STATION}") == -1) {
-    logFileSkl = roverName + "_" + logFileSkl;
+  if (logFileSkl.isEmpty()) {
+    _logFile = 0;
   }
   else {
-    logFileSkl.replace("${STATION}", roverName);
-  }
-  _logFile = new bncoutf(logFileSkl, "1 day", 0);
+    if (logFileSkl.indexOf("${STATION}") == -1) {
+      logFileSkl = roverName + "_" + logFileSkl;
+    }
+    else {
+      logFileSkl.replace("${STATION}", roverName);
+    }
+    _logFile = new bncoutf(logFileSkl, "1 day", 0);
+  }
+
+  QString nmeaFileSkl = settings.value("PPP/nmeaFile").toString();
+  if (nmeaFileSkl.isEmpty()) {
+    _nmeaFile = 0;
+  }
+  else {
+    if (nmeaFileSkl.indexOf("${STATION}") == -1) {
+      nmeaFileSkl = roverName + "_" + nmeaFileSkl;
+    }
+    else {
+      nmeaFileSkl.replace("${STATION}", roverName);
+    }
+    _nmeaFile = new bncoutf(nmeaFileSkl, "1 day", 0);
+  }
 }
 
@@ -131,4 +151,5 @@
 t_pppRun::~t_pppRun() {
   delete _logFile;
+  delete _nmeaFile;
 }
 
@@ -270,5 +291,5 @@
     }
 
-    if (output._epoTime.valid()) {
+    if (_logFile && output._epoTime.valid()) {
       _logFile->write(output._epoTime.gpsw(), output._epoTime.gpssec(), 
                       QString(output._log.c_str())); 
Index: /trunk/BNC/src/PPP/pppRun.h
===================================================================
--- /trunk/BNC/src/PPP/pppRun.h	(revision 5987)
+++ /trunk/BNC/src/PPP/pppRun.h	(revision 5988)
@@ -68,4 +68,5 @@
   bool          _stopFlag;
   bncoutf*      _logFile;
+  bncoutf*      _nmeaFile;
 };
 
