4590148 [rkeene@sledge /home/rkeene/projects/rivet-cgi/rivet-tcl]$ cat -n import_keyvalue_pairs.tcl
   1: proc import_keyvalue_pairs {arrayName argsList} {
   2:     upvar 1 $arrayName data
   3: 
   4:     if {[string index $argsList 0] != "-"} {
   5: 	set data(args) $argsList
   6: 	return
   7:     }
   8: 
   9:     set index 0
  10:     set looking 0
  11:     set data(args) ""
  12:     foreach arg $argsList {
  13: 	if {$looking} {
  14: 	    set data($varName) $arg
  15: 	    set looking 0
  16: 	} elseif {[string index $arg 0] == "-"} {
  17: 	    if {$arg == "--"} {
  18: 		set data(args) [lrange $argsList [expr $index + 1] end]
  19: 		break
  20: 	    }
  21: 	    if {$arg == "-args"} {
  22: 		return -code error "-args is a reserved value."
  23: 	    }
  24: 	    set varName [string range $arg 1 end]
  25: 	    set looking 1
  26: 	} else {
  27: 	    set data(args) [lrange $argsList $index end]
  28: 	    break
  29: 	}
  30: 	incr index
  31:     }
  32: }
4590149 [rkeene@sledge /home/rkeene/projects/rivet-cgi/rivet-tcl]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2002-03-14 21:57:59