--- trunk/src/misc.c 2009/06/26 20:07:33 12 +++ trunk/src/misc.c 2009/06/27 11:09:19 13 @@ -65,10 +65,14 @@ char *c = _("N"); float integral, fractional; - if(latitude < 0) { latitude = fabs(latitude); c = _("S"); } - fractional = modff(latitude, &integral); + if(isnan(latitude)) + str[0] = 0; + else { + if(latitude < 0) { latitude = fabs(latitude); c = _("S"); } + fractional = modff(latitude, &integral); - snprintf(str, len, "%s %02d° %06.3f'", c, (int)integral, fractional*60.0); + snprintf(str, len, "%s %02d° %06.3f'", c, (int)integral, fractional*60.0); + } } GtkWidget *pos_lat(float latitude, int size, int strikethrough) { @@ -82,10 +86,14 @@ char *c = _("E"); float integral, fractional; - if(longitude < 0) { longitude = fabs(longitude); c = _("W"); } - fractional = modff(longitude, &integral); + if(isnan(longitude)) + str[0] = 0; + else { + if(longitude < 0) { longitude = fabs(longitude); c = _("W"); } + fractional = modff(longitude, &integral); - snprintf(str, len, "%s %03d° %06.3f'", c, (int)integral, fractional*60.0); + snprintf(str, len, "%s %03d° %06.3f'", c, (int)integral, fractional*60.0); + } } GtkWidget *pos_lon(float longitude, int size, int strikethrough) {