From: tsteven4 Date: Sun, 6 Dec 2015 22:39:52 +0000 (-0700) Subject: fix bug in gpx reader when processing unrecognized elements. Any existing prefix... X-Git-Tag: archive/raspbian/1.10.0+ds-2+rpi1~1^2~12^2~10^2~9^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=534c09249e12a82ce97243813b37731d10ca4430;p=gpsbabel.git fix bug in gpx reader when processing unrecognized elements. Any existing prefix on attribute names was erroneously dropped. --- diff --git a/gpx.cc b/gpx.cc index 7e2560d1c..f08dafb74 100644 --- a/gpx.cc +++ b/gpx.cc @@ -549,7 +549,7 @@ start_something_else(const QString el, const QXmlStreamAttributes& attr) new_tag->attributes = (char**)xcalloc(sizeof(char*),2*(attr_count+ns_count)+1); avcp = new_tag->attributes; for (int i = 0; i < attr_count; i++) { - *avcp = xstrdup(attr[i].name().toString()); + *avcp = xstrdup(attr[i].qualifiedName().toString()); avcp++; *avcp = xstrdup(attr[i].value().toString()); avcp++; diff --git a/reference/unknowntag.gpx b/reference/unknowntag.gpx new file mode 100644 index 000000000..38c835f7f --- /dev/null +++ b/reference/unknowntag.gpx @@ -0,0 +1,21 @@ + + + + B02222 + + + false + + + + A01111 + A St/B St + Waypoint + + + 000000000000ffffffffffffffffffffffff + + + + + diff --git a/reference/unknowntag~gpx.gpx b/reference/unknowntag~gpx.gpx new file mode 100644 index 000000000..25920f43e --- /dev/null +++ b/reference/unknowntag~gpx.gpx @@ -0,0 +1,25 @@ + + + + + + + + B02222 + + + false + + + + A01111 + A St/B St + Waypoint + + + 000000000000ffffffffffffffffffffffff + + + + + diff --git a/testo.d/gpx.test b/testo.d/gpx.test index c9174de7f..70e7c327e 100644 --- a/testo.d/gpx.test +++ b/testo.d/gpx.test @@ -35,3 +35,8 @@ compare ${REFERENCE}/basecamp~gpx.gpx ${TMPDIR}/basecamp~gpx_so.gpx rm -f ${TMPDIR}/basecamp~gpx_si.gpx gpsbabel -i gpx -f - -o gpx -F ${TMPDIR}/basecamp~gpx_si.gpx 0< ${REFERENCE}/basecamp.gpx compare ${REFERENCE}/basecamp~gpx.gpx ${TMPDIR}/basecamp~gpx_si.gpx + +# test unknown tags +rm -f ${TMPDIR}/unknowntag.gpx +gpsbabel -i gpx -f ${REFERENCE}/unknowntag.gpx -o gpx -F ${TMPDIR}/unknowntag.gpx +compare ${REFERENCE}/unknowntag~gpx.gpx ${TMPDIR}/unknowntag.gpx