Hex Artifact Content

Artifact 07e25e6903cbac968badeca489ca3ecb43052a2a:


0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20  #! /usr/bin/env 
0010: 74 63 6c 73 68 0a 0a 70 72 6f 63 20 73 74 72 69  tclsh..proc stri
0020: 6e 67 69 66 79 66 69 6c 65 20 7b 66 69 6c 65 6e  ngifyfile {filen
0030: 61 6d 65 20 7b 6b 65 79 20 30 7d 7d 20 7b 0a 09  ame {key 0}} {..
0040: 63 61 74 63 68 20 7b 0a 09 09 73 65 74 20 66 64  catch {...set fd
0050: 20 5b 6f 70 65 6e 20 24 66 69 6c 65 6e 61 6d 65   [open $filename
0060: 20 72 5d 0a 09 7d 0a 0a 09 69 66 20 7b 21 5b 69   r]..}...if {![i
0070: 6e 66 6f 20 65 78 69 73 74 73 20 66 64 5d 7d 20  nfo exists fd]} 
0080: 7b 0a 09 09 72 65 74 75 72 6e 20 22 22 0a 09 7d  {...return ""..}
0090: 0a 0a 09 73 65 74 20 64 61 74 61 20 5b 72 65 61  ...set data [rea
00a0: 64 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 66 64  d -nonewline $fd
00b0: 5d 0a 09 63 6c 6f 73 65 20 24 66 64 0a 0a 09 66  ]..close $fd...f
00c0: 6f 72 65 61 63 68 20 6c 69 6e 65 20 5b 73 70 6c  oreach line [spl
00d0: 69 74 20 24 64 61 74 61 20 5c 6e 5d 20 7b 0a 09  it $data \n] {..
00e0: 09 73 65 74 20 6c 69 6e 65 20 5b 73 74 72 69 6e  .set line [strin
00f0: 67 20 6d 61 70 20 5b 6c 69 73 74 20 22 5c 5c 22  g map [list "\\"
0100: 20 22 5c 5c 5c 5c 22 20 22 5c 22 22 20 22 5c 5c   "\\\\" "\"" "\\
0110: 5c 22 22 5d 20 24 6c 69 6e 65 5d 0a 09 09 61 70  \""] $line]...ap
0120: 70 65 6e 64 20 72 65 74 20 22 09 5c 22 24 6c 69  pend ret ".\"$li
0130: 6e 65 5c 5c 6e 5c 22 5c 6e 22 0a 09 7d 0a 0a 09  ne\\n\"\n"..}...
0140: 72 65 74 75 72 6e 20 24 72 65 74 0a 7d 0a 0a 66  return $ret.}..f
0150: 6f 72 65 61 63 68 20 66 69 6c 65 20 24 61 72 67  oreach file $arg
0160: 76 20 7b 0a 09 70 75 74 73 20 2d 6e 6f 6e 65 77  v {..puts -nonew
0170: 6c 69 6e 65 20 5b 73 74 72 69 6e 67 69 66 79 66  line [stringifyf
0180: 69 6c 65 20 24 66 69 6c 65 5d 0a 7d 0a 0a 65 78  ile $file].}..ex
0190: 69 74 20 30 0a                                   it 0.