Index: trunk/BNC/src/RTCM/RTCM2Decoder.cpp
===================================================================
--- trunk/BNC/src/RTCM/RTCM2Decoder.cpp	(revision 8204)
+++ trunk/BNC/src/RTCM/RTCM2Decoder.cpp	(revision 8234)
@@ -202,19 +202,29 @@
     if (_PP.ID() == 3) {
       if (_msg03.validMsg) {
-        _antList.push_back(t_antInfo());
-
-        this->getStaCrd(_antList.back().xx, _antList.back().yy,
-            _antList.back().zz);
-
-        _antList.back().type = t_antInfo::APC;
+        _antList.push_back(t_antRefPoint());
+
+        this->getStaCrd(_antList.back().xx, _antList.back().yy, _antList.back().zz);
+
+        _antList.back().type = t_antRefPoint::APC;
         _antList.back().message = _PP.ID();
       }
     } else if (_PP.ID() == 23) {
-      if (_msg23.validMsg && !_antType.contains(_msg23.antType.c_str())) {
-        _antType.push_back(_msg23.antType.c_str());
+      if (_msg23.validMsg) {
+        int antlen = strlen(_msg23.antType.c_str());
+        int serlen = strlen(_msg23.antSN.c_str());
+        if ((antlen) &&
+            (_antType.empty() || strncmp(_antType.back().descriptor, _msg23.antType.c_str(), antlen) != 0)) {
+          _antType.push_back(t_antInfo());
+          memcpy(_antType.back().descriptor, _msg23.antType.c_str(), antlen);
+          _antType.back().descriptor[antlen] = 0;
+          if (serlen) {
+            memcpy(_antType.back().serialnumber,  _msg23.antSN.c_str(), serlen);
+            _antType.back().serialnumber[serlen] = 0;
+          }
+        }
       }
     } else if (_PP.ID() == 24) {
       if (_msg24.validMsg) {
-        _antList.push_back(t_antInfo());
+        _antList.push_back(t_antRefPoint());
 
         _antList.back().xx = _msg24.x;
@@ -225,5 +235,5 @@
         _antList.back().height = _msg24.h;
 
-        _antList.back().type = t_antInfo::ARP;
+        _antList.back().type = t_antRefPoint::ARP;
         _antList.back().message = _PP.ID();
       }
Index: trunk/BNC/src/RTCM/RTCM2Decoder.h
===================================================================
--- trunk/BNC/src/RTCM/RTCM2Decoder.h	(revision 8204)
+++ trunk/BNC/src/RTCM/RTCM2Decoder.h	(revision 8234)
@@ -29,4 +29,5 @@
 #include <vector>
 #include <list>
+#include <stdio.h>
 
 #include "GPSDecoder.h"
@@ -71,5 +72,5 @@
     rtcm2::RTCM2_24    _msg24;
     rtcm2::RTCM2_2021  _msg2021;
-    bncEphUser         _ephUser;        
+    bncEphUser         _ephUser;
 };
 
