Posted to tcl by auriocus at Sat Apr 08 10:01:45 GMT 2017view pretty

package require fileutil

proc deansi fn {
	set cont [fileutil::cat $fn]
	set r [regsub -all {_ANSI_ARGS_\s*?\((.*?)\)\s*?;} $cont {\1;}]
	set r [regsub -all {TCL_VARARGS\s*?\((.*?),(.*?)\)} $r {(\1 \2, ...)}]
	set r [regsub -all {TCL_VARARGS_DEF\s*?\((.*?),(.*?)\)} $r {(\1 \2, ...)}]
	set r [regsub -all {TCL_VARARGS_START} $r {EXP_VARARGS_START}]
	set r [regsub -all {\ypanic\y} $r {Tcl_Panic}]
	::fileutil::writeFile $fn $r
}


proc deansi_dir dir {
	foreach fn [glob -nocomplain $dir/*.c $dir/*.h] {
		deansi $fn
	}
}