Fix all stdio reading functions to be __critical
[fw/altos] / src / ao_gps_print.c
index 95439ec709c6eb9542ed70e1c274a93a08a4c20c..11213174be357b97ac43aa18dbc74489a4fe362f 100644 (file)
@@ -53,10 +53,13 @@ ao_gps_print(__xdata struct ao_gps_data *gps_data) __reentrant
 
                ao_gps_split(gps_data->latitude, &lat);
                ao_gps_split(gps_data->longitude, &lon);
-               printf(" 20%02d-%02d-%02d",
-                      gps_data->year,
-                      gps_data->month,
-                      gps_data->day);
+               if (gps_data->flags & AO_GPS_DATE_VALID)
+                       printf(" 20%02d-%02d-%02d",
+                              gps_data->year,
+                              gps_data->month,
+                              gps_data->day);
+               else
+                       printf (" 0000-00-00");
                printf(" %2d:%02d:%02d",
                       gps_data->hour,
                       gps_data->minute,
@@ -112,17 +115,16 @@ ao_gps_tracking_print(__xdata struct ao_gps_tracking_data *gps_tracking_data) __
        sat = gps_tracking_data->sats;
        v = 0;
        for (c = 0; c < n; c++) {
-               if (sat->svid && sat->state)
+               if (sat->svid)
                        v++;
                sat++;
        }
        printf("%d ", v);
        sat = gps_tracking_data->sats;
        for (c = 0; c < n; c++) {
-               if (sat->svid && sat->state)
-                       printf (" %3d %02x %3d",
+               if (sat->svid)
+                       printf (" %3d %3d",
                                sat->svid,
-                               sat->state,
                                sat->c_n_1);
                sat++;
        }