Index: trunk/rtcm3torinex/lib/rtcm3torinex.c
===================================================================
--- trunk/rtcm3torinex/lib/rtcm3torinex.c	(revision 5658)
+++ trunk/rtcm3torinex/lib/rtcm3torinex.c	(revision 5660)
@@ -1606,9 +1606,7 @@
                     gnss->measdata[num][cd.typeP] = cp[count]*LIGHTSPEED/1000.0/wl
                     +(rrmod[numsat])*LIGHTSPEED/1000.0/wl;
-                    if(handle->lastlockmsm[j][i] != ll[count])
-                    {
+                    if(handle->lastlockmsm[j][i] > ll[count])
                       gnss->dataflags2[num] |= cd.lock;
-                      handle->lastlockmsm[j][i] = ll[count];
-                    }
+                    handle->lastlockmsm[j][i] = ll[count] > 255 ? 255 : ll[count];
                     gnss->dataflags[num] |= (1LL<<cd.typeP);
                   }
@@ -1626,9 +1624,7 @@
                     gnss->measdata[num][cd.typeP] = cp[count]*LIGHTSPEED/1000.0/wl
                     +(rrmod[numsat]+rrint[numsat])*LIGHTSPEED/1000.0/wl;
-                    if(handle->lastlockmsm[j][i] != ll[count])
-                    {
+                    if(handle->lastlockmsm[j][i] > ll[count])
                       gnss->dataflags2[num] |= cd.lock;
-                      handle->lastlockmsm[j][i] = ll[count];
-                    }
+                    handle->lastlockmsm[j][i] = ll[count] > 255 ? 255 : ll[count];
                     gnss->dataflags[num] |= (1LL<<cd.typeP);
                   }
@@ -1646,9 +1642,7 @@
                     gnss->measdata[num][cd.typeP] = cp[count]*LIGHTSPEED/1000.0/wl
                     +(rrmod[numsat]+rrint[numsat])*LIGHTSPEED/1000.0/wl;
-                    if(handle->lastlockmsm[j][i] != ll[count])
-                    {
+                    if(handle->lastlockmsm[j][i] > ll[count])
                       gnss->dataflags2[num] |= cd.lock;
-                      handle->lastlockmsm[j][i] = ll[count];
-                    }
+                    handle->lastlockmsm[j][i] = ll[count] > 255 ? 255 : ll[count];
                     gnss->dataflags[num] |= (1LL<<cd.typeP);
                   }
@@ -1669,9 +1663,7 @@
                     gnss->measdata[num][cd.typeP] = cp[count]*LIGHTSPEED/1000.0/wl
                     +(rrmod[numsat]+rrint[numsat])*LIGHTSPEED/1000.0/wl;
-                    if(handle->lastlockmsm[j][i] != ll[count])
-                    {
+                    if(handle->lastlockmsm[j][i] > ll[count])
                       gnss->dataflags2[num] |= cd.lock;
-                      handle->lastlockmsm[j][i] = ll[count];
-                    }
+                    handle->lastlockmsm[j][i] = ll[count] > 255 ? 255 : ll[count];
                     gnss->dataflags[num] |= (1LL<<cd.typeP);
                   }
@@ -1699,9 +1691,7 @@
                     gnss->measdata[num][cd.typeP] = cp[count]*LIGHTSPEED/1000.0/wl
                     +(rrmod[numsat]+rrint[numsat])*LIGHTSPEED/1000.0/wl;
-                    if(handle->lastlockmsm[j][i] != ll[count])
-                    {
+                    if(handle->lastlockmsm[j][i] > ll[count])
                       gnss->dataflags2[num] |= cd.lock;
-                      handle->lastlockmsm[j][i] = ll[count];
-                    }
+                    handle->lastlockmsm[j][i] = ll[count] > 255 ? 255 : ll[count];
                     gnss->dataflags[num] |= (1LL<<cd.typeP);
                   }
@@ -1722,9 +1712,7 @@
                     gnss->measdata[num][cd.typeP] = cp[count]*LIGHTSPEED/1000.0/wl
                     +(rrmod[numsat]+rrint[numsat])*LIGHTSPEED/1000.0/wl;
-                    if(handle->lastlockmsm[j][i] != ll[count])
-                    {
+                    if(handle->lastlockmsm[j][i] > ll[count])
                       gnss->dataflags2[num] |= cd.lock;
-                      handle->lastlockmsm[j][i] = ll[count];
-                    }
+                    handle->lastlockmsm[j][i] = ll[count] > 255 ? 255 : ll[count];
                     gnss->dataflags[num] |= (1LL<<cd.typeP);
                   }
