From: Ian Jackson Date: Sat, 4 Jul 2009 11:49:55 +0000 (+0100) Subject: if -Drect and -Dcallout, make dictionary-manager print out whole image input X-Git-Tag: 1.9.2~45 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.web-live.git;a=commitdiff_plain;h=579edbc3e615ade4ac65296eeaff383ac19fe9b1 if -Drect and -Dcallout, make dictionary-manager print out whole image input --- diff --git a/pctb/dictionary-manager b/pctb/dictionary-manager index 10218e0..210af06 100755 --- a/pctb/dictionary-manager +++ b/pctb/dictionary-manager @@ -53,6 +53,13 @@ proc must_gets {f lvar} { if {[gets $f l] < 0} { error "huh?" } } +proc must_gets_imagel {f lvar} { + global debug_rect + upvar 1 $lvar l + must_gets $f l + if {$debug_rect} { debug "<< $l" } +} + proc must_gets_exactly {f expected} { must_gets $f got if {[string compare $expected $got]} { error "$expected $got ?" } @@ -246,13 +253,13 @@ proc do_database_update {im def} { proc required/char {} { global mulrows glyphsdone unk_l unk_r unk_contexts rows new_context - global all_contexts + global all_contexts debug_rect must_gets stdin l + debug "GOT $l" manyset [lrange $l 0 3] unk_l unk_r unk_contexts set glyphsdone [lrange $l 3 end] - debug "GOT $l" char_read_xpm stdin @@ -397,7 +404,7 @@ proc required/pixmap {} { debug "GOT pixmap $unk_what" set ppm {} while 1 { - must_gets stdin ppml + must_gets_imagel stdin ppml if {![string length $ppml]} break append ppm $ppml "\n" } @@ -583,7 +590,7 @@ proc char_read_xpm {f} { set o {} set y -3 while 1 { - must_gets $f l + must_gets_imagel $f l if {![regexp {^"(.*)",$} $l dummy l]} { append o "$l\n" if {[regexp {^\}\;$} $l]} break @@ -1377,12 +1384,14 @@ proc debug {m} { } set mainkind default set ai 0 set debug 0 +set debug_rect 0 set quiet 0 foreach arg $argv { incr ai switch -exact -- $arg { {--quiet} { set quiet 1 } {--debug} { set debug 1 } + {--debug-rect} { set debug_rect 1 } {--debug-server} { proc debug {m} { puts stderr "DICT-MGR-SVR $m" }} {--noop-arg} { } {--approve-updates} { set mainkind approve; break } diff --git a/pctb/resolve.c b/pctb/resolve.c index 0bd0579..19615f3 100644 --- a/pctb/resolve.c +++ b/pctb/resolve.c @@ -50,7 +50,8 @@ FILE *resolve_start(void) { * so we aren't in any danger of overwriting some other fd 4: */ sysassert( dup2(donepipe[1],4) ==4 ); EXECLP_HELPER("dictionary-manager", - DEBUGP(callout) ? "--debug" : "--noop-arg", + DEBUGP(callout) ? "--debug" : "--noop-arg", + DEBUGP(callout) && DEBUGP(rect) ? "--debug-rect" : "--noop-arg", o_quiet ? "--quiet" : "--noop-arg", "--automatic-1", (char*)0);