chiark / gitweb /
commodity ordering: support @..+ in main entries too
authorIan Jackson <ian@liberator.relativity.greenend.org.uk>
Sat, 31 Oct 2009 16:07:59 +0000 (16:07 +0000)
committerIan Jackson <ian@liberator.relativity.greenend.org.uk>
Sat, 31 Oct 2009 16:07:59 +0000 (16:07 +0000)
yarrg/Commods.pm

index d9e9d34e48214fc3bfb5bb5168dff3e3572dc76b..0d45c5ea70367945bb997c8cdc409ef4caf3afcc 100644 (file)
@@ -192,6 +192,7 @@ sub parse_info1 ($$$) {
        
     %commods= ();
     my $ca;
+    my $lnoix=0;
     $ca= sub {
        my ($s,$ss,$ordbase) = @_;
 #print STDERR "ca($s,,".(defined $ordbase ? $ordbase : '?').")\n";
@@ -214,8 +215,9 @@ sub parse_info1 ($$$) {
                    $c->{Class}= $1;
                    die "$1" unless exists $commodclasses{$1};
                    $ordclassval= 1e7 + $commodclasses{$1} * 1e7;
-               } elsif ($prop =~ m/^\@(\d+)$/) {
+               } elsif ($prop =~ m/^\@(\d+\+?)$/) {
                    $ordval= $1;
+                   $ordval =~ s/^(\d+)\+$/ $1 + $lnoix * 10 /e;
                } else {
                    die "unknown property $prop for $ucname";
                }
@@ -239,7 +241,7 @@ sub parse_info1 ($$$) {
                     ? $ordbase+$ordcolour : undef);
        }
     };
-    foreach (@rawcm) { &$ca($_,$src,0); }
+    foreach (@rawcm) { $lnoix++; &$ca($_,$src,0); }
 }
 
 sub parse_info_clientside () {