GPSBabel: convert, manipulate, and transfer data from GPS programs or GPS receivers. Open Source and supported on MacOS, Windows, Linux, and more. Pointy clicky GUI or a command line version...
let the container manage memory, taking advantage of copy on write.
replace garmin_fs_alloc with new.
make garmin_fs_t* constant where possible, eliminating the possibility of the ilinks list detaching.
return an optional from garmin_fs_t::convert_category instead of returning status and passing a pointer to the output value.
retire garmin_fs_convert_category. This was mostly duplicated between garmin_fs_t::convert_category and the caller.
create garmin_fs_t::print_categories from the original in garmin_txt, and use it in both garmin_txt and the gpx writer.
add opt_utc to garmin_txt reader (it was already in the garmin_txt writer)
correct bugs in garmin_txt function strftime_to_timespec. %H was mistranslated, %p was missing, if the format code wasn't found a character from outside the buffer could be used. add warning when a conversion isn't found.
add a test proving categories can go from gpx to garmin_txt and back. additionally the test exercises the ini file category support.
improve debug message in convert_fromhuman[time|date]_format.