[flashrom] Radix for layout ranges
c-d.hailfinger.devel.2006 at gmx.net
Mon Nov 22 23:44:10 CET 2010
On 22.11.2010 23:09, David Hendricks wrote:
> I just noticed (read: hit an issue) that ranges specified in layout files
> are always assumed to be hex. From layout.c:
> rom_entries[romimages].start = strtol(tstr1, (char **)NULL, 16);
> rom_entries[romimages].end = strtol(tstr2, (char **)NULL, 16);
> Is there a specific reason base 16 is used? Should we just leave it at "0"
> and let strtol decide, depending on the prefix (0x for hex, dec otherwise)?
> The reason I bring this up is because I am working with testing scripts that
> generate ranges on the fly. It's an extra step to convert values to hex
> (printf %x $value?) and I want to reduce dependency on external programs /
> maximize portability.
> If this sounds reasonable, the patch attached simply changes the radix used
> by strtol to "0" do dec is chosen if there is no prefix and hex is chosen if
> the number is prefixed with 0x.
> Signed-off-by: David Hendricks <dhedndrix at google.com>
AFAICS that breaks ranges with leading zero, which are assumed to be
octal after this change.
Besides that, it breaks all existing layout files which are missing the
0x prefix as documented in the man page.
The man page has the following layout file example:
Note the missing 0x in front of the values.
Given that this is a major user interface change, we might as well
switch to a new layout file format which has better syntax.
More information about the flashrom