|
Bugzilla – Full Text Bug Listing |
| Summary: | gpsdrive gps values truncated with german locale | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE LINUX 10.0 | Reporter: | Dennis Lubert <plasmahh> |
| Component: | X11 Applications | Assignee: | Joerg Reuter <jreuter> |
| Status: | RESOLVED WONTFIX | QA Contact: | Stefan Dirsch <sndirsch> |
| Severity: | Normal | ||
| Priority: | P5 - None | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
reassign to new maintainer Sorry, I never had time to take care of it. It should be fixed in openSUSE 11.0, though. |
Hi, I recently started gpsdrive and then noticed that all the values displayed (in the lower as values and as points on the screen) are rounded to minutes. Im german and therefore have the standard german locale environment variable LANG=de_DE.UTF-8 set. When now setting to LANG=en_EN gpsdrive works fine. What I suspect is a problem when parsing the NMEA data from gpsd/the gps receiver. Since the receiver does not know about locales, it uses . as seperator for floating point numbers. So it outputs 45°34'33.44" which is parsed fine in en_EN which uses . as seperator too. In german locale, the seperator for sscanf() and others for the floating point numbers is , therefore the parsing like sscanf("%d°%d'%f\"",...); fails at the parsing of the float parameter, nevertheless setting the others. So it then looks like values are "rounded" to minutes. greets Dennis