Browse Source

* lib/utils.exp (grep): Use a proper Tcl list for options.

psql
Ben Elliston 7 years ago
parent
commit
6c0bbbfad3
  1. 4
      ChangeLog
  2. 10
      lib/utils.exp

4
ChangeLog

@ -1,3 +1,7 @@
2018-12-10 Ben Elliston <bje@gnu.org>
* lib/utils.exp (grep): Use a proper Tcl list for options.
2018-12-10 Ben Elliston <bje@gnu.org> 2018-12-10 Ben Elliston <bje@gnu.org>
* testsuite/runtest.all/utils.test: ${srcdir} -> $srcdir. * testsuite/runtest.all/utils.test: ${srcdir} -> $srcdir.

10
lib/utils.exp

@ -201,9 +201,9 @@ proc which { file } {
# line - synonum for -n # line - synonum for -n
proc grep { args } { proc grep { args } {
set options "" set options [list]
if { [lindex $args 0] eq "-n" } { if { [lindex $args 0] eq "-n" } {
append options "line " lappend options "line"
set args [lrange $args 1 end] set args [lrange $args 1 end]
} }
@ -213,16 +213,16 @@ proc grep { args } {
verbose "Grepping $file for the pattern \"$pattern\"" 3 verbose "Grepping $file for the pattern \"$pattern\"" 3
if { [llength $args] > 2 } { if { [llength $args] > 2 } {
append options [join [lrange $args 2 end]] set options [concat $options [lrange $args 2 end]]
} }
set options [lsort -unique $options] set options [lsort -unique $options]
set i 0 set i 0
set fd [open $file r] set fd [open $file r]
while { [gets $fd cur_line]>=0 } { while { [gets $fd cur_line] >= 0 } {
incr i incr i
if {[regexp -- $pattern $cur_line match]} { if {[regexp -- $pattern $cur_line match]} {
if {$options ne ""} { if {[llength $options] > 0} {
foreach opt $options { foreach opt $options {
switch -- $opt { switch -- $opt {
"line" { "line" {

Loading…
Cancel
Save