Changeset 11124 in ntrip for trunk/BNC/src/RTCM3
- Timestamp:
- Oct 24, 2026, 10:10:29 PM (5 days ago)
- Location:
- trunk/BNC/src/RTCM3
- Files:
-
- 4 edited
-
RTCM3Decoder.cpp (modified) (1 diff)
-
clock_and_orbit/clock_orbit.h (modified) (1 diff)
-
clock_and_orbit/clock_orbit_rtcm_new.cpp (modified) (2 diffs)
-
crs.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
r11084 r11124 2173 2173 for (int i = 0; i < dblinksnum; i++) { 2174 2174 int dblinknum = -1; 2175 char dblinkname[3 1];2175 char dblinkname[32]; // up to 31 characters (5-bit length) + terminating 0 2176 2176 GETBITS(dblinknum, 5) 2177 2177 if (dblinknum > -1 && dblinknum <= 31) { -
trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h
r11048 r11124 454 454 unsigned int Degree; /* 1-16 */ 455 455 unsigned int Order; /* 1-16 */ 456 double Sinus[VTEC_MAXIONODEGREE][VTEC_MAXIONOORDER]; 457 double Cosinus[VTEC_MAXIONODEGREE][VTEC_MAXIONOORDER]; 456 /* indices 0 .. Degree / 0 .. Order, both up to 16 */ 457 double Sinus[VTEC_MAXIONODEGREE+1][VTEC_MAXIONOORDER+1]; 458 double Cosinus[VTEC_MAXIONODEGREE+1][VTEC_MAXIONOORDER+1]; 458 459 } Layers[VTEC_NUMIONOLAYERS]; 459 460 }; -
trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp
r11046 r11124 637 637 fprintf(stderr, "ssrIod %d providerId %d solId %d numEntries %d \n", 638 638 md->SSRIOD, md->SSRProviderID, md->SSRSolutionID, md->NumEntries); 639 #endif 639 #endif 640 if (md->NumEntries > META_MAXNUMENTRIES) { /* DF+063 is 5 bits wide */ 641 md->NumEntries = 0; 642 return GCOBR_DATAMISMATCH; 643 } 640 644 for (i = 0; i < md->NumEntries; i++) { 641 645 unsigned int additionalBits; … … 687 691 if (md->Entries[i].nonDefaultIndicator && 688 692 md->Entries[i].additionalParameterIndicator) { 689 D_ADDITIONAL_MODEL_PARAMETER_DATA(md->Entries[i].additionalParameterData, additionalBits) 693 /* DF+071 allows up to 255 bits, only 32 can be stored: skip the 694 leading excess bits, keep the trailing 32 */ 695 while (additionalBits > 32) { 696 unsigned int n = (additionalBits - 32 > 32) ? 32 : additionalBits - 32; 697 SKIPSSRBITS(n) 698 additionalBits -= n; 699 } 700 if (additionalBits) 701 D_ADDITIONAL_MODEL_PARAMETER_DATA(md->Entries[i].additionalParameterData, additionalBits) 690 702 #ifdef BNC_DEBUG_SSR 691 703 fprintf(stderr, "- additional-data-parameter-data : %d\n", md->Entries[i].additionalParameterData); -
trunk/BNC/src/RTCM3/crs.h
r10545 r11124 24 24 } 25 25 void clear(void) { 26 memset(_name, '\0', 31 *sizeof(char));26 memset(_name, '\0', sizeof(_name)); 27 27 _coordinateEpoch = 0; 28 28 _CE = 0; … … 38 38 void setCoordinateEpochFromCE() {(!_CE) ? _coordinateEpoch = 0.0 : _coordinateEpoch = 1900 + _CE; } 39 39 void setCEFromCoordinateEpoch() {(!_coordinateEpoch) ? _CE = 0 : _CE = _coordinateEpoch -1900; } 40 char _name[3 1];40 char _name[32]; // up to 31 characters (5-bit length) + terminating 0 41 41 double _coordinateEpoch; 42 42 double _CE; … … 55 55 } 56 56 void clear() { 57 memset(_name, '\0', 31 *sizeof(char));57 memset(_name, '\0', sizeof(_name)); 58 58 _anchor = 0; 59 59 _plateNumber = 0; … … 71 71 } 72 72 } 73 char _name[3 1];73 char _name[32]; // up to 31 characters (5-bit length) + terminating 0 74 74 int _anchor; // 0.. global CRS (=> Plate number 0), 1.. plate-fixed CRS 75 75 int _plateNumber; // 0.. unknown, 7.. Eurasia … … 171 171 cout << endl; 172 172 } 173 char _sourceName[3 1];174 char _targetName[3 1];173 char _sourceName[32]; // up to 31 characters (5-bit length) + terminating 0 174 char _targetName[32]; 175 175 int _sysIdentNum; 176 176 int _utilTrafoMessageIndicator;
Note:
See TracChangeset
for help on using the changeset viewer.
