logo separator

[mkgmap-dev] Commit: r1268: Make all fields that are known to be variable size

From Steve Hosgood steve at tallyho.bc.nu on Thu Oct 8 17:20:31 BST 2009

svn commit wrote:
> Version 1268 was commited by steve on 2009-10-08 12:41:46 +0100 (Thu, 08 Oct 2009) 
> BRANCH: mdr
> Make all fields that are known to be variable size
> configurable in the code to the size that they are meant to be.
> Record size fields are now set correctly taking into account the number of maps
> and everything else we know about.
That's adapting for the number of entries in MDR1 is it? Forensics on 
other sources of MDR files seems to indicate that the indexes into the 
MDR1 list (which occur in many other MDR sections) may use one or two 
bytes, depending (presumably) on the length of MDR1.

> There is still a lot unknown in this area and very small maps just do not
> work.
Do you know if the definition of "very small map" is that the number of 
cities is less than some given constant, or what?
The number of entries in MDR1 was mentioned above, but I could imagine 
troubles if the number of entries in MDR10 or MDR11 crossed certain 
boundaries too.

I could maybe understand issues arising if the number of entries in 
(somewhere) exceeded 7-bits, 14-bits or 21-bits capacity. Numbers stored 
with variable numbers of bytes, exhibiting behaviour-transitions at 
those values have been seen in MDR17 for instance, but could well be 
employed elsewhere too.

More information about the mkgmap-dev mailing list