From 8e0de3a8a82d07d9428f292a755d15ff3e5996ee Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 21 Aug 2016 15:12:20 +0100 Subject: [PATCH] normalise: pass $ctx to normalise_opts Signed-off-by: Ian Jackson --- normalise | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/normalise b/normalise index 9703a3a..c5a9077 100755 --- a/normalise +++ b/normalise @@ -23,8 +23,9 @@ sub badinput ($) { die "bad input: $_[0]"; } -sub normalise_opts_list ($) { - my ($os) = @_; +sub normalise_opts_list ($$) { + # $ctx is one of Election Candidate Ballot + my ($os,$ctx) = @_; $os //= ''; my @o; foreach my $o (split /\s+/, $os) { @@ -40,9 +41,9 @@ sub normalise_opts_list ($) { return @o; } -sub normalise_opts ($) { - my ($os) = @_; - my @o = normalise_opts_list $os; +sub normalise_opts ($$) { + my ($os,$ctx) = @_; + my @o = normalise_opts_list $os, $ctx; return " | @o"; } @@ -81,12 +82,12 @@ while (<>) { s/^\s+//; s/\s+$//; if (m/^\|/) { - push @options, normalise_opts_list $'; + push @options, normalise_opts_list $', 'Election'; } elsif (m/^($candvoter_re?)\s*=\s*([^|]+?)\s*\|(.*)?$/o) { use Data::Dumper; print STDERR Dumper($1,$2,$3); my ($cand,$desc,$opts) = ($1,$2,$3); - push @{ $candidates{$cand}{Opts} }, normalise_opts $opts; + push @{ $candidates{$cand}{Opts} }, normalise_opts $opts, 'Candidate'; setcanddesc $cand, $desc; } elsif (m/^($candvoter_re?)?\s*\:([^|]*)(?:\|(.*))?$/) { my ($voter,$opts) = ($1,$3); @@ -101,7 +102,7 @@ print STDERR Dumper($1,$2,$3); badinput "bad vote preference \`$p'"; } } - push @ballots, "$voter : @p".normalise_opts $opts; + push @ballots, "$voter : @p".normalise_opts $opts, 'Ballot'; } elsif (m/^\.$/) { } else { badinput "unknown line format \`$_'"; -- 2.30.2