api_delta_generator.tcl [plain text]
proc main {argc argv} {
if {2 != $argc} {
puts stderr "syntax is: [info nameofexecutable] $::argv0 api.list gliDispatch.list"
exit 1
}
set fd [open [lindex $argv 0] r]
set data [read $fd]
close $fd
foreach line [split $data \n] {
set gliname [lindex $line 3]
if {"" eq $gliname} continue
set a($gliname) 1
}
set fd [open [lindex $argv 1] r]
set data [read $fd]
close $fd
set blist [split $data \n]
foreach name $blist {
if {"" eq $name} continue
set b($name) 1
}
array set deltas {}
foreach name [array names a] {
if {[info exists b($name)]} {
set deltas($name) BOTH
} else {
set deltas($name) [lindex $argv 0]
}
}
foreach name [array names b] {
if {![info exists a($name)]} {
set deltas($name) [lindex $argv 1]
}
}
parray deltas
}
main $::argc $::argv