Skip to content
Commit 9f98dedd authored by Michael Natterer's avatar Michael Natterer 😴
Browse files

Bug 620604 - Description of "histogram" procedure is slightly inaccurate

Fix totally broken value ranges of integer PDB parameters. Magically,
the bug was affecting only exactly the two cases mentioned in above
bug report.

* tools/pdbgen/pdb.pl (arg_parse): return <, <=, > and >= literally
  instead of applying a mapping that was originally meant for
  generated C code that would e.g. transform "0 <= int32 < 10" into
  "if (value < 0 || value >= 10) fail". This inversion of all
  operators is now wrong because PDB parameters have been turned into
  GParamSpecs which always need inclusive ranges as min and max
  values.

* tools/pdbgen/pdbgen.pl (arrayexpand): generated array length type
  specs must be "0 <= int32", not "0 < int32".

* tools/pdbgen/app.pl: when generating integer param specs, check if
  the value range is specified in terms of < instead of <=, and
  add/subtract 1, resuting in the inclusive range needed for integer
  GParamSpecs.

* app/pdb/color-cmds.c: regenerated, fixing the two broken ranges
  mentioned in the bug report.
(cherry picked from commit 9dd373d8)
parent d3adca9f
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment