#!/bin/sh
-# the next line restats using tclsh \
-exec tclsh "$0" "$@"
+# the next line restarts using tclsh \
+if [ -f /usr/local/bin/tclsh8.4 ]; then exec tclsh8.4 "$0" "$@"; else exec tclsh "$0" "$@"; fi
#
-# $Id: charconv.tcl,v 1.12 2006-04-19 23:15:39 adam Exp $
+# $Id: charconv.tcl,v 1.17 2006-08-30 20:40:18 adam Exp $
proc usage {} {
puts {charconv.tcl: [-p prefix] [-s split] [-o ofile] file ... }
exit 1
}
-proc preamble_trie {ofilehandle} {
+proc preamble_trie {ofilehandle ifiles ofile} {
set f $ofilehandle
set totype {unsigned }
+ puts $f "/** \\file $ofile"
+ puts $f " \\brief Character conversion, generated from [lindex $ifiles 0]"
+ puts $f ""
+ puts $f " Generated automatically by charconv.tcl"
+ puts $f "*/"
puts $f "\#include <string.h>"
puts $f "
struct yaz_iconv_trie_flat {
}
ins_trie_r $rest $to $combining $codename $trie($this,ptr,$ch)
} else {
- set trie($this,to,$ch) $to
- set trie($this,combining,$ch) $combining
- set trie($this,codename,$ch) $codename
+ if {![info exist trie($this,to,$ch)]} {
+ set trie($this,to,$ch) $to
+ set trie($this,combining,$ch) $combining
+ set trie($this,codename,$ch) $codename
+ }
}
}
}
}
set ofilehandle [open $ofile w]
-preamble_trie $ofilehandle
+preamble_trie $ofilehandle $ifiles $ofile
foreach ifile $ifiles {
readfile $ifile $ofilehandle $prefix $omits $reverse_map