Hi all, attached is a patch which fixes issues with Garmin maps on Big Endian boxes: - proprly load label offsets in subdiv 2 sects. - fix bad casts
Cheers, Albrecht. P.S.: Will build the Mac release this weekend...
Index: src/CGarminPolygon.cpp
===================================================================
--- src/CGarminPolygon.cpp (Revision 2895)
+++ src/CGarminPolygon.cpp (Arbeitskopie)
@@ -364,7 +364,7 @@
if(hasV2Label)
{
- quint32 offset = *(quint32*)(pData + bs_len);
+ quint32 offset = gar_ptr_load(uint24_t, pData + bs_len);
bytes_total += 3;
/// @todo read label information
lbl_info = offset & 0x3FFFFF;
Index: src/CGarminTile.cpp
===================================================================
--- src/CGarminTile.cpp (Revision 2895)
+++ src/CGarminTile.cpp (Arbeitskopie)
@@ -565,7 +565,7 @@
subdivs.last().rgn_end = gar_load(uint32_t, pRgnHdr->hdr_rgn_t::offset) + gar_load(uint32_t, pRgnHdr->hdr_rgn_t::length);
// read extended NT elements
- if((gar_load(uint16_t, pTreHdr->hdr_subfile_part_t::length) >= 0x9A) && pTreHdr->tre7_size && (gar_load(uint32_t, pTreHdr->tre7_rec_size) >= sizeof(tre_subdiv2_t)))
+ if((gar_load(uint16_t, pTreHdr->hdr_subfile_part_t::length) >= 0x9A) && pTreHdr->tre7_size && (gar_load(uint16_t, pTreHdr->tre7_rec_size) >= sizeof(tre_subdiv2_t)))
{
rgnoff = subfile.parts["RGN"].offset;
@@ -578,7 +578,7 @@
// const quint32 entries2 = subdivs.size();
bool skipPois = true;
- if(gar_load(uint32_t, pTreHdr->tre7_rec_size) == sizeof(tre_subdiv2_t)) skipPois = false;
+ if(gar_load(uint16_t, pTreHdr->tre7_rec_size) == sizeof(tre_subdiv2_t)) skipPois = false;
// for(int i = 0; i < pTreHdr->tre7_rec_size; ++i){
// if(i%4 == 0) fprintf(stderr,"\n");
pgp0KUg8DkBDU.pgp
Description: PGP signature
------------------------------------------------------------------------------ AppSumo Presents a FREE Video for the SourceForge Community by Eric Ries, the creator of the Lean Startup Methodology on "Lean Startup Secrets Revealed." This video shows you how to validate your ideas, optimize your ideas and identify your business strategy. http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________ Qlandkartegt-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users
