From aa09b9170b2899a82c0c47c2aa30e9cd8038c5b2 Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Fri, 5 Oct 2012 20:26:32 -0600 Subject: [PATCH] Fix website config display of default settings The website page cfgman builder script was omitted when adding the DEFAULT_DOC parameter and making DEFAULT / DEFAULT_IF_NONE support multi-line values. --- scripts/www/build-cfg-help.pl | 37 ++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/scripts/www/build-cfg-help.pl b/scripts/www/build-cfg-help.pl index 075ab0ec24..fac1e49dfa 100755 --- a/scripts/www/build-cfg-help.pl +++ b/scripts/www/build-cfg-help.pl @@ -19,9 +19,10 @@ use File::Basename; # NAME: # IFDEF: # TYPE: -# DEFAULT: -# DEFAULT_IF_NONE: # LOC: +# DEFAULT: +# DEFAULT_IF_NONE: +# DEFAULT_DOC: # DOC_START # documentation goes here # NOCOMMENT_START @@ -225,6 +226,22 @@ sub section_heading($) print $index $comment; print $index "\n"; } +sub update_defaults() +{ + if (defined($data->{"default_doc"})) { + # default text description masks out the default value display + if($data->{"default_doc"} ne "") { + print "REPLACE: default '". $data->{"default"} ."' with '" . $data->{"default_doc"} . "'\n" if $verbose; + $data->{"default"} = $data->{"default_doc"}; + } + } + # when we have no predefined default use the DEFAULT_IF_NONE + if (defined($data->{"default_if_none"})) { + print "REPLACE: default '". $data->{"default"} ."' with '" . $data->{"default_if_none"} . "'\n" if $verbose && $data->{"default"} eq ""; + $data->{"default"} = $data->{"default_if_none"} if $data->{"default"} eq ""; + } +} + while (<>) { chomp; last if (/^EOF$/); @@ -241,8 +258,12 @@ while (<>) { $option{$name} = $data; $data->{'name'} = $name; $data->{'aliases'} = \@aliases; + $data->{'default'} = ""; + $data->{'default_doc'} = ""; + $data->{'default_if_none'} = ""; print "DEBUG: new option: $name\n" if $verbose; + next; } elsif ($_ =~ /^COMMENT: (.*)$/) { $data->{"comment"} = $1; } elsif ($_ =~ /^TYPE: (.*)$/) { @@ -250,16 +271,19 @@ while (<>) { start_option($data->{"name"}, $data->{"type"}); } elsif ($_ =~ /^DEFAULT: (.*)$/) { if ($1 eq "none") { - $data->{"default"} = "$1"; + $data->{"default"} = "$1\n"; } else { - $data->{"default"} = "$name $1"; + $data->{"default"} .= "$name $1\n"; } + } elsif ($_ =~ /^DEFAULT_DOC: (.*)$/) { + $data->{"default_doc"} .= "$1\n"; } elsif ($_ =~ /^DEFAULT_IF_NONE: (.*)$/) { - $data->{"default"} = "$name $1"; + $data->{"default_if_none"} .= "$1\n"; } elsif ($_ =~ /^LOC:(.*)$/) { $data->{"loc"} = $1; $data->{"loc"} =~ s/^[\s\t]*//; } elsif ($_ =~ /^DOC_START$/) { + update_defaults; $state = "doc"; } elsif ($_ =~ /^DOC_END$/) { $state = ""; @@ -269,11 +293,10 @@ while (<>) { } undef @chained; } elsif ($_ =~ /^DOC_NONE$/) { + update_defaults; push(@chained, $name); } elsif ($_ =~ /^NOCOMMENT_START$/) { $state = "nocomment"; - } elsif ($_ =~ /^DEFAULT_IF_NONE: (.*)$/) { - $data->{"default_if_none"} = $1; } elsif ($_ =~ /^NOCOMMENT_END$/) { $state = ""; } elsif ($_ =~ /^IFDEF: (.*)$/) { -- 2.47.2