Index: trunk/BNC/src/rinex/rnxobsfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 6231)
+++ trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 6232)
@@ -916,5 +916,5 @@
       bool    found  = false;
    
-      const QString preferredAttrib = "CWPX_";
+      const QString preferredAttrib = "CWPX ?";
       for (int iPref = 0; iPref < preferredAttrib.length(); iPref++) {
         QMapIterator<QString, t_rnxObs> itObs(rnxSat.obs);
@@ -923,25 +923,29 @@
           const QString&  type   = itObs.key();
           const t_rnxObs& rnxObs = itObs.value();
-          if (typeV2 == type3to2(sys, type)) {
-            found = true;
-            if (rnxObs.value == 0.0) {
-              *stream << QString().leftJustified(16);
-            }
-            else {
-              *stream << QString("%1").arg(rnxObs.value, 14, 'f', 3);
-              if (rnxObs.lli != 0.0) {
-                *stream << QString("%1").arg(rnxObs.lli,1);
+          if ( preferredAttrib[iPref] == '?'                             ||
+               (type.length() == 2 && preferredAttrib[iPref] == ' '    ) ||
+               (type.length() == 3 && preferredAttrib[iPref] == type[2]) ) {
+            if (typeV2 == type3to2(sys, type)) {
+              found = true;
+              if (rnxObs.value == 0.0) {
+                *stream << QString().leftJustified(16);
               }
               else {
-                *stream << ' ';
+                *stream << QString("%1").arg(rnxObs.value, 14, 'f', 3);
+                if (rnxObs.lli != 0.0) {
+                  *stream << QString("%1").arg(rnxObs.lli,1);
+                }
+                else {
+                  *stream << ' ';
+                }
+                if (rnxObs.snr != 0.0) {
+                  *stream << QString("%1").arg(rnxObs.snr,1);
+                }
+                else {
+                  *stream << ' ';
+                }
               }
-              if (rnxObs.snr != 0.0) {
-                *stream << QString("%1").arg(rnxObs.snr,1);
-              }
-              else {
-                *stream << ' ';
-              }
+              break;
             }
-            break;
           }
         }
