24 |
#define TAG_STATE GTK_STATE_PRELIGHT |
#define TAG_STATE GTK_STATE_PRELIGHT |
25 |
|
|
26 |
void pos_lat_str(char *str, int len, pos_float_t latitude) { |
void pos_lat_str(char *str, int len, pos_float_t latitude) { |
27 |
snprintf(str, len-1, "%.5f", latitude); |
if(isnan(latitude)) |
28 |
/* eliminate trailing zeros */ |
strcpy(str, "---"); |
29 |
if((strchr(str, '.') != NULL) || (strchr(str, ',') != NULL)) { |
else { |
30 |
char *p = str+strlen(str)-1; |
snprintf(str, len-1, "%.5f", latitude); |
31 |
while(*p == '0') *p-- = 0; |
|
32 |
if((*p == '.')||(*p == ',')) |
/* eliminate trailing zeros */ |
33 |
*p = 0; |
if((strchr(str, '.') != NULL) || (strchr(str, ',') != NULL)) { |
34 |
|
char *p = str+strlen(str)-1; |
35 |
|
while(*p == '0') *p-- = 0; |
36 |
|
if((*p == '.')||(*p == ',')) |
37 |
|
*p = 0; |
38 |
|
} |
39 |
} |
} |
40 |
strcat(str, "°"); |
strcat(str, "°"); |
41 |
} |
} |
42 |
|
|
43 |
void pos_lon_str(char *str, int len, pos_float_t longitude) { |
void pos_lon_str(char *str, int len, pos_float_t longitude) { |
44 |
snprintf(str, len-1, "%.5f", longitude); |
if(isnan(longitude)) |
45 |
/* eliminate trailing zeros */ |
strcpy(str, "---"); |
46 |
if((strchr(str, '.') != NULL) || (strchr(str, ',') != NULL)) { |
else { |
47 |
char *p = str+strlen(str)-1; |
snprintf(str, len-1, "%.5f", longitude); |
48 |
while(*p == '0') *p-- = 0; |
|
49 |
if((*p == '.')||(*p == ',')) |
/* eliminate trailing zeros */ |
50 |
*p = 0; |
if((strchr(str, '.') != NULL) || (strchr(str, ',') != NULL)) { |
51 |
|
char *p = str+strlen(str)-1; |
52 |
|
while(*p == '0') *p-- = 0; |
53 |
|
if((*p == '.')||(*p == ',')) |
54 |
|
*p = 0; |
55 |
|
} |
56 |
} |
} |
57 |
strcat(str, "°"); |
strcat(str, "°"); |
58 |
} |
} |
204 |
} |
} |
205 |
|
|
206 |
void pos_dist_str(char *str, int len, pos_float_t dist, gboolean is_mil) { |
void pos_dist_str(char *str, int len, pos_float_t dist, gboolean is_mil) { |
207 |
/* is this to be displayed as miles? */ |
if(isnan(dist)) |
208 |
if(is_mil) dist /= KMPMIL; // kilometer per mile |
strcpy(str, "---"); |
209 |
|
else { |
210 |
snprintf(str, len, "%.4f", dist); |
/* is this to be displayed as miles? */ |
211 |
/* eliminate trailing zeros */ |
if(is_mil) dist /= KMPMIL; // kilometer per mile |
212 |
if((strchr(str, '.') != NULL) || (strchr(str, ',') != NULL)) { |
|
213 |
char *p = str+strlen(str)-1; |
snprintf(str, len, "%.4f", dist); |
214 |
while(*p == '0') *p-- = 0; |
/* eliminate trailing zeros */ |
215 |
if((*p == '.')||(*p == ',')) |
if((strchr(str, '.') != NULL) || (strchr(str, ',') != NULL)) { |
216 |
*p = 0; |
char *p = str+strlen(str)-1; |
217 |
|
while(*p == '0') *p-- = 0; |
218 |
|
if((*p == '.')||(*p == ',')) |
219 |
|
*p = 0; |
220 |
|
} |
221 |
} |
} |
222 |
} |
} |
223 |
|
|