Commit 36ec46e8 authored by Thomas Haller's avatar Thomas Haller

docs: fix handling enums without explicit numeric value in "tools/enums-to-docbook.pl"

Previously, an enum that didn't explicitly specify a numeric value
would wrongly start counting at 1.

E.g.

  typedef enum {
     MY_VAL,
  } Name;

would result in documentation with MY_VAL=1.

https://bugzilla.gnome.org/show_bug.cgi?id=776848
parent c5f17a97
......@@ -62,8 +62,11 @@ sub inc
{
my $val = shift;
if ($val =~ /^\d+$/) {
if ($val =~ /^-?\d+$/) {
my $len = length $val;
if ($val =~ /^-/ && ($val + 1 == 0)) {
$len = $len - 1
}
return sprintf "%0${len}d", $val + 1;
} elsif ($val =~ /^0x(.+)$/) {
my $len = length $1;
......@@ -117,7 +120,7 @@ if (/^\/\*\*$/) {
$choice = undef;
} elsif (/^typedef enum/) {
# Start of an enum
$val = 0;
$val = -1;
} elsif (/^\s+(\S+)\s+=\s+([^,\s]+)/) {
# A choice with a literal value
next unless @choices;
......
Markdown is supported
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