From: Ian Jackson Date: Sun, 8 Aug 2010 16:57:47 +0000 (+0100) Subject: where-vessels: Show correct report when sizes smashed X-Git-Tag: 6.6.2~17 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=commitdiff_plain;h=29aa2c239b63eed8908bf6ecda7889bafd61ca4c where-vessels: Show correct report when sizes smashed --- diff --git a/yarrg/where-vessels b/yarrg/where-vessels index 1506f29..2f9e237 100755 --- a/yarrg/where-vessels +++ b/yarrg/where-vessels @@ -410,11 +410,18 @@ proc code2canvas {code canvas x yvar qty qtylen bind} { proc show-report-decode {code} { global vc_code2full + smash-prepare + manyset [split $code _] inport sizecode subclass lockown xabbrev manyset [split $lockown ""] lock notown report-set inport [lindex {{At Sea} {In port}} $inport] - report-set size $vc_code2full($sizecode) + + upvar #0 vc_code2full($sizecode) sizefull + upvar #0 smash_sizeinexact($sizecode) sizeinexact + set size_report $sizefull + if {[info exists sizeinexact]} { set size_report "($sizefull+)" } + report-set size $size_report global smash_subclass if {$smash_subclass >= 2} { @@ -575,10 +582,15 @@ proc smash-code {code} { } proc smash-prepare {} { - global vc_codes smash_sizemap smash_size + global vc_codes smash_sizemap smash_size smash_sizeinexact set mapto {} + catch { unset smash_sizeplus } foreach size $vc_codes { - if {!$smash_size($size)} { set mapto $size } + if {!$smash_size($size)} { + set mapto $size + } else { + set smash_sizeinexact($mapto) 1 + } set smash_sizemap($size) $mapto } }