Index: trunk/BNC/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 504)
+++ trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 505)
@@ -51,10 +51,12 @@
 #endif
 
-#define LEAPSECONDS     14 /* only needed for approx. time */
-
 // Error Handling
 ////////////////////////////////////////////////////////////////////////////
 void RTCM3Error(const char*, ...) {
+}
 
+// Standard Output
+////////////////////////////////////////////////////////////////////////////
+void RTCM3Text(const char*, ...) {
 }
 
@@ -62,9 +64,24 @@
 ////////////////////////////////////////////////////////////////////////////
 RTCM3Decoder::RTCM3Decoder() : GPSDecoder() {
-  memset(&_Parser, 0, sizeof(_Parser));
+
+  const int LEAPSECONDS = 14; /* only needed for approx. time */
+
   time_t tim;
   tim = time(0) - ((10*365+2+5)*24*60*60 + LEAPSECONDS);
+
+  memset(&_Parser, 0, sizeof(_Parser));
   _Parser.GPSWeek = tim/(7*24*60*60);
   _Parser.GPSTOW  = tim%(7*24*60*60);
+
+  // _Parser2 is used for direct file output
+  // ---------------------------------------
+  memset(&_Parser2, 0, sizeof(_Parser2));
+  _Parser2.GPSWeek = tim/(7*24*60*60);
+  _Parser2.GPSTOW  = tim%(7*24*60*60);
+
+  _Parser2.headerfile       = strdup("TEST_HEADERFILE");
+  _Parser2.glonassephemeris = strdup("TEST_GLONASSEPHEMERIS");
+  _Parser2.gpsephemeris     = strdup("TEST_GPSEPHEMERIS");
+  _Parser2.rinex3           = 1;
 }
 
@@ -78,4 +95,8 @@
 void RTCM3Decoder::Decode(char* buffer, int bufLen) {
   for (int ii = 0; ii < bufLen; ii++) {
+
+    // Direct file output
+    // ------------------
+    HandleByte(&_Parser2, (unsigned int) buffer[ii]);
 
     _Parser.Message[_Parser.MessageSize++] = buffer[ii];
Index: trunk/BNC/RTCM3/RTCM3Decoder.h
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.h	(revision 504)
+++ trunk/BNC/RTCM3/RTCM3Decoder.h	(revision 505)
@@ -39,4 +39,5 @@
 private:
   struct RTCM3ParserData _Parser;
+  struct RTCM3ParserData _Parser2;
 } ;
 
Index: trunk/BNC/RTCM3/rtcm3torinex.c
===================================================================
--- trunk/BNC/RTCM3/rtcm3torinex.c	(revision 504)
+++ trunk/BNC/RTCM3/rtcm3torinex.c	(revision 505)
@@ -1,5 +1,5 @@
 /*
   Converter for RTCM3 data to RINEX.
-  $Id: rtcm3torinex.c,v 1.24 2007/10/08 13:29:45 stoecker Exp $
+  $Id: rtcm3torinex.c,v 1.1 2007/10/14 13:02:20 mervart Exp $
   Copyright (C) 2005-2006 by Dirk Stoecker <stoecker@alberding.eu>
 
@@ -51,5 +51,5 @@
 
 /* CVS revision and version */
-static char revisionstr[] = "$Revision: 1.24 $";
+static char revisionstr[] = "$Revision: 1.1 $";
 
 #ifndef COMPILEDATE
@@ -806,4 +806,5 @@
 #endif
 
+#ifndef NO_RTCM3_MAIN
 void RTCM3Text(const char *fmt, ...)
 {
@@ -813,4 +814,5 @@
   va_end(v);
 }
+#endif
 
 static int HandleRunBy(char *buffer, int buffersize, const char **u,
@@ -1534,5 +1536,5 @@
 
 #ifndef NO_RTCM3_MAIN
-static char datestr[]     = "$Date: 2007/10/08 13:29:45 $";
+static char datestr[]     = "$Date: 2007/10/14 13:02:20 $";
 
 /* The string, which is send as agent in HTTP request */
