Changeset 879 in ntrip for trunk/BNC/RTCM3/RTCM3coDecoder.cpp


Ignore:
Timestamp:
May 6, 2008, 5:07:41 PM (16 years ago)
Author:
mervart
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/RTCM3/RTCM3coDecoder.cpp

    r877 r879  
    6565
    6666  while (true) {
     67    int bytesused = 0;
    6768    memset(&_co, 0, sizeof(_co));
    68     int irc = GetClockOrbitBias(&_co, &_bias,
    69                                 _buffer.data(), _buffer.size());
    70     if      (irc == -2) {  // not enough data
     69    GCOB_RETURN irc = GetClockOrbitBias(&_co, &_bias, _buffer.data(),
     70                                        _buffer.size(), &bytesused);
     71
     72    if      (irc == GCOBR_SHORTBUFFER ||
     73             irc == GCOBR_MESSAGEEXCEEDSBUFFER) {  // not enough data
    7174      return failure;
    7275    }
    73     else if (irc == -3) {  // not synchronized
    74       _buffer = _buffer.substr(1);
    75     }
    76     else if (irc == 0) {
     76   
     77    else if (irc == GCOBR_OK && bytesused > 0) {
    7778      for(int ii = 0; ii < _co.NumberOfGPSSat; ++ii) {
    7879        QString line;
     
    8485        _out->flush();
    8586      }
    86       char obuffer[CLOCKORBIT_BUFFERSIZE];
    87       int len = MakeClockOrbit(&_co, COTYPE_AUTO, 0, obuffer, sizeof(obuffer));
    88       if (len > 0) {
    89         _buffer = _buffer.substr(len);
    90       }
    91       else {
    92         _buffer = _buffer.substr(1);
    93       }
     87      _buffer = _buffer.substr(bytesused);
    9488      return success;
    9589    }
     90
    9691    else {
    97       return failure;
     92      _buffer = _buffer.substr(1);
    9893    }
    9994  }
Note: See TracChangeset for help on using the changeset viewer.