FS#58115 - [gpsbabel] gpsbabel versions 1.5.0 through 1.5.4: geo.cc only handles integer terrain or difficulty

Attached to Project: Community Packages
Opened by Rick Richardson (rickrich) - Thursday, 05 April 2018, 03:18 GMT
Last edited by Balló György (City-busz) - Saturday, 07 April 2018, 14:55 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Balló György (City-busz)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

See http://geo.rkkda.com/forum/read.php?8,1069 for details.

It used to work in 1.4.4, before the "C" language gpsbabel got refactored into "C++" language gpsbabel.

Basically, the floating point does not work if the decimal part is non-zero. E.G. 3.0 goes to 3.0, but 3.5 goes to 0.0!

$ cd gpsbabel

$ diff -u geo.cc.org geo.cc
--- geo.cc.org 2017-10-14 20:54:31.228998156 -0500
+++ geo.cc 2017-10-14 20:55:48.450485105 -0500
@@ -74,9 +74,9 @@
waypt_add_url(wpt,
reader.readElementText(), a.value("text").toString());
} else if (current_tag == "/loc/waypoint/difficulty") {
- wpt->gc_data->diff = reader.readElementText().toInt() * 10;
+ wpt->gc_data->diff = reader.readElementText().toDouble() * 10;
} else if (current_tag == "/loc/waypoint/terrain") {
- wpt->gc_data->terr = reader.readElementText().toInt() * 10;
+ wpt->gc_data->terr = reader.readElementText().toDouble() * 10;
} else if (current_tag == "/loc/waypoint/container") {
wpt->gc_data->container = wpt_container(reader.readElementText());
}


"Thanx for the fix, Rick. It's going into https://github.com/gpsbabel/gpsbabel/pull/93 " - Robert Lipe

Unfortunately, gpsbabel is still on 1.5.4, even after I reported this in October 14, 2017.

Fedora has fixed this:

https://bugzilla.redhat.com/show_bug.cgi?id=1561337
This task depends upon

Closed by  Balló György (City-busz)
Saturday, 07 April 2018, 14:55 GMT
Reason for closing:  Fixed
Additional comments about closing:  gpsbabel 1.5.4-4

Loading...