Am 15.07.10 21:06 schrieb(en) Oliver Eichler:
Just pulled the latest svn, and have a dumb question - did you check if the 
calls

if(pNetHdr) subfile.strtbl->registerNET1(offsetNet1, pNetHdr->net1_length, 
pNetHdr->net1_addr_shift);

also need the endian fix?  net1_length is also a 32-bit...

Nope didn't check. Too much other stuff. New Suse is out. :)

Looking deeper into the code, I'm *almost* sure the attached patch is needed as to 
properly interpret "NET" sections, if support for them (whatever they are...) 
is implemented some day...

BTW, I'll be on vacation and away from may Mac's the next weeks, so I can build 
the next releases for OS X only in August.  But it's not forgotten!

Cheers, albrecht.

Index: src/CGarminTile.cpp
===================================================================
--- src/CGarminTile.cpp	(Revision 2210)
+++ src/CGarminTile.cpp	(Arbeitskopie)
@@ -639,21 +639,21 @@ void CGarminTile::readSubfileBasics(subfile_desc_t
                 subfile.strtbl = new CGarminStrTbl6(codepage, mask, this);
                 subfile.strtbl->registerLBL1(offsetLbl1, gar_load(uint32_t, pLblHdr->lbl1_length), pLblHdr->addr_shift);
                 subfile.strtbl->registerLBL6(offsetLbl6, gar_load(uint32_t, pLblHdr->lbl6_length));
-                if(pNetHdr) subfile.strtbl->registerNET1(offsetNet1, pNetHdr->net1_length, pNetHdr->net1_addr_shift);
+                if(pNetHdr) subfile.strtbl->registerNET1(offsetNet1, gar_load(uint32_t, pNetHdr->net1_length), pNetHdr->net1_addr_shift);
                 break;
 
             case 0x09:
                 subfile.strtbl = new CGarminStrTbl8(codepage, mask, this);
                 subfile.strtbl->registerLBL1(offsetLbl1, gar_load(uint32_t, pLblHdr->lbl1_length), pLblHdr->addr_shift);
                 subfile.strtbl->registerLBL6(offsetLbl6, gar_load(uint32_t, pLblHdr->lbl6_length));
-                if(pNetHdr) subfile.strtbl->registerNET1(offsetNet1, pNetHdr->net1_length, pNetHdr->net1_addr_shift);
+                if(pNetHdr) subfile.strtbl->registerNET1(offsetNet1, gar_load(uint32_t, pNetHdr->net1_length), pNetHdr->net1_addr_shift);
                 break;
 
             case 0x0A:
                 subfile.strtbl = new CGarminStrTblUtf8(codepage, mask, this);
                 subfile.strtbl->registerLBL1(offsetLbl1, gar_load(uint32_t, pLblHdr->lbl1_length), pLblHdr->addr_shift);
                 subfile.strtbl->registerLBL6(offsetLbl6, gar_load(uint32_t, pLblHdr->lbl6_length));
-                if(pNetHdr) subfile.strtbl->registerNET1(offsetNet1, pNetHdr->net1_length, pNetHdr->net1_addr_shift);
+                if(pNetHdr) subfile.strtbl->registerNET1(offsetNet1, gar_load(uint32_t, pNetHdr->net1_length), pNetHdr->net1_addr_shift);
                 break;
 
             default:;

Attachment: pgpIxVgW1NOTL.pgp
Description: PGP signature

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QLandkarte-users mailing list
QLandkarte-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qlandkarte-users

Reply via email to