Bug 135626

Summary: gpsdrive gps values truncated with german locale
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Dennis Lubert <plasmahh>
Component: X11 ApplicationsAssignee: 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: ---

Description Dennis Lubert 2005-11-28 01:20:54 UTC
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
Comment 1 Stefan Fent 2006-10-04 08:48:41 UTC
reassign to new maintainer
Comment 2 Joerg Reuter 2008-05-05 09:41:50 UTC
Sorry, I never had time to take care of it. It should be fixed in openSUSE 11.0, though.