Index: third_party/sqlite/src/tool/replace.tcl |
diff --git a/third_party/sqlite/src/tool/replace.tcl b/third_party/sqlite/src/tool/replace.tcl |
index b01a83accb8c158ecb8e10ae4b8b2221856326ad..5a1ac5983c44c9233aa7e954121d7e38f6f30f29 100644 |
--- a/third_party/sqlite/src/tool/replace.tcl |
+++ b/third_party/sqlite/src/tool/replace.tcl |
@@ -4,16 +4,19 @@ |
# only lines successfully modified with a regular |
# expression. |
# |
+fconfigure stdout -translation binary -encoding binary |
+fconfigure stderr -translation binary -encoding binary |
set mode [string tolower [lindex $argv 0]] |
set from [lindex $argv 1] |
set to [lindex $argv 2] |
-if {$mode ni [list exact include]} {exit 1} |
+if {$mode ni [list exact regsub include]} {exit 1} |
if {[string length $from]==0} {exit 2} |
while {![eof stdin]} { |
set line [gets stdin] |
if {[eof stdin]} break |
switch -exact $mode { |
exact {set line [string map [list $from $to] $line]} |
+ regsub {regsub -all -- $from $line $to line} |
include {if {[regsub -all -- $from $line $to line]==0} continue} |
} |
puts stdout $line |