OK, just submitted a pull request:

https://github.com/gpsbabel/gpsbabel/pull/401

Thanks.

On Fri, 6 Sep 2019, Jochen Sprickerhof wrote:

> Hi Tim,
>
> thanks for your bug report. Can you send it to upstream as a pull request
> here:
>
> https://github.com/gpsbabel/gpsbabel
>
> Thanks
>
> Jochen
>
> * Tim Connors <tim.w.conn...@gmail.com> [2019-08-22 12:22]:
> > Package: gpsbabel
> > Version: 1.6.0+ds-5
> > Severity: normal
> > Tags: patch upstream
> >
> > I have a device that occasionally seems to forget to initialise parts
> > of itself.  When it does this, the "garmin_fit" tracks it save aren't
> > readable by gpsbabel.  Normally they are.  The symptom is:
> >
> > 24874,32> gpsbabel -i garmin_fit -f can\'t-read-00000545.fit -o gpx -F
> > /tmp/00000545.gpx
> > fit: Bad endian field
> >
> > When run with the attached patch though (which may need to be refined
> > to perhaps require the user to first set a "ignore_endian_errors"
> > flag, or just treat it as Situation Normal and just send the output to
> > the debug logs instead), the output file appears to be entirely valid.
> > The patch ends up just treating the endian uint8 as a boolean:
> >
> > --- a/garmin_fit.cc
> > +++ b/garmin_fit.cc
> > @@ -253,7 +253,7 @@
> >   // second byte is endianness
> >   def->endian = fit_getuint8();
> >   if (def->endian > 1) {
> > -    fatal(MYNAME ": Bad endian field\n");
> > +    warning(MYNAME ": Bad endian field: %d\n",def->endian);
> >   }
> >   fit_data.endian = def->endian;
> >
> >
> > The result I get on my two example files are:
> >
> > 0-0-12:11:01, Thu Aug 22 tconnors@weinberg:~/tracks (bash)
> > 24875,33> gpsbabel -i garmin_fit -f can\'t-read-00000545.fit -o gpx -F
> > /tmp/00000545.gpx
> > fit: Bad endian field: 229
> > fit: Bad endian field: 186
> > 0-0-12:20:08, Thu Aug 22 tconnors@weinberg:~/tracks (bash)
> > 24876,34> gpsbabel -i garmin_fit -f can\'t-read-00000545-2.fit -o gpx -F
> > /tmp/00000545-2.gpx
> > fit: Bad endian field: 19
> > fit: Bad endian field: 69
> >
> >
> > I'll see whether I can upload an example file exhibiting the problem...
> >
> >
> > -- System Information:
> > Debian Release: 9.8
> >  APT prefers stable-updates
> >  APT policy: (500, 'stable-updates'), (500, 'stable'), (5, 'testing'), (2,
> > 'unstable'), (1, 'experimental')
> > Architecture: amd64 (x86_64)
> > Foreign Architectures: i386
> >
> > Kernel: Linux 4.19.0-0.bpo.4-amd64 (SMP w/8 CPU cores)
> > Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8),
> > LANGUAGE=en_AU:en (charmap=UTF-8)
> > Shell: /bin/sh linked to /bin/dash
> > Init: sysvinit (via /sbin/init)
> >
> > Versions of packages gpsbabel depends on:
> > ii  libc6         2.28-6
> > ii  libgcc1       1:8.3.0-6
> > ii  libqt5core5a  5.11.3+dfsg1-1
> > ii  libshp2       1.4.0-1
> > ii  libstdc++6    8.3.0-6
> > ii  libusb-0.1-4  2:0.1.12-30
> > ii  zlib1g        1:1.2.8.dfsg-5
> >
> > Versions of packages gpsbabel recommends:
> > ii  gpsbabel-doc  1.5.4-2
> >
> > gpsbabel suggests no packages.
> >
> > -- no debconf information
>

-- 
Tim Connors

Reply via email to