Simplify catch and expr statements

This commit is contained in:
prpr 2024-03-10 21:16:35 +00:00
parent fdb7ed4007
commit bf2f95fdfc
36 changed files with 92 additions and 108 deletions

View File

@ -121,8 +121,7 @@ proc get_data {} {
# and recently written)
if {[dict exists $ret $file] &&
$ext eq ".ts"} {
set age [expr {[clock seconds] \
- [file mtime $file]}]
set age $([clock seconds] - [file mtime $file])
if {$age < 60} {
set access [lindex \
[dict get $ret $file] 1]

View File

@ -14,9 +14,9 @@ if {![file exists "${bfile}.mp3"]} {
puts "0"
} else {
set sz [file size $rfile]
set nsz [expr {[file size "${bfile}.mp3"] / 0.3}]
set nsz $([file size "${bfile}.mp3"] / 0.3)
set perc [expr {$nsz * 100 / $sz}]
set perc $($nsz * 100 / $sz)
if {$perc > 100} { set perc 100 }
puts $perc
}

View File

@ -68,7 +68,7 @@ foreach b $bookmarks {
set l $($end - $start)
incr keeping $l
incr cur $l
append newbookmarks "[expr {$cur + 3}] "
append newbookmarks "$($cur + 3) "
set left $($start * $planwidth / $len)
set right $($end * $planwidth / $len)

View File

@ -50,7 +50,7 @@ set cmd [list /mod/bin/nicesplice \
-out "$dir/$shname"]
if {$invert} {
if {[expr {[llength $bookmarks] % 2}] != 0} {
if {$([llength $bookmarks] % 2) != 0} {
lappend bookmarks [$ts duration 1]
}
foreach k [array names bookmarks] {

View File

@ -19,7 +19,7 @@ if {![file exists $newfile]} {
set expected $($sz / 100 * $perc)
set nsz [file size $newfile]
set perc [expr {$nsz * 100 / $expected}]
set perc $($nsz * 100 / $expected)
if {$perc > 100} { set perc 100 }
puts $perc
}

View File

@ -22,6 +22,6 @@ if {![file exists "$file"]} {
set sz [file size $rfile]
set nsz [file size "$file"]
puts [expr {$nsz * 100 / $sz}]
puts $($nsz * 100 / $sz)
}

View File

@ -161,7 +161,7 @@ if {$ts != 0} {
<td>"
puts [clock format [$ts get end] -format "%c %Z"]
puts "<font class=also>(Scheduled: [clock format \
[expr {[$ts get schedstart] + [$ts get scheddur]}] \
$([$ts get schedstart] + [$ts get scheddur]) \
-format "%c %Z"])</font>"
set duration [$ts duration]
set durmins $($duration == 1 ? "minute" : "minutes")
@ -171,14 +171,14 @@ if {$ts != 0} {
</tr><tr>
<th>Duration</th>
<td>$duration $durmins.
<font class=also>(Scheduled: [expr {[$ts get scheddur] / 60}])
<font class=also>(Scheduled: $([$ts get scheddur] / 60))
</font></td>
</tr><tr>
<th>Status</th>
<td>[$ts get status]</td>
</tr><tr>
<th>Resumes</th>
<td>[expr {$resume / 60}] $resmins into recording.
<td>$($resume / 60) $resmins into recording.
[progressbar $($resume * 100 / [$ts duration 1])]
</td>
</tr><tr>

View File

@ -324,8 +324,8 @@ proc s_file_stat {a b attr {rev 0}} {
if {[catch {file stat $b l}]} { return 0}
set bt $l($attr)
if {$at < $bt} { return [expr {$rev ? 1 : -1}] }
if {$at > $bt} { return [expr {$rev ? -1 : 1}] }
if {$at < $bt} { return $($rev ? 1 : -1) }
if {$at > $bt} { return $($rev ? -1 : 1) }
return 0
}

View File

@ -16,7 +16,7 @@ if {![file exists $file]} {
} else {
set sz [file size $file]
set perc [expr {$sz * 100 / $expected}]
set perc $($sz * 100 / $expected)
if {$perc > 100} { set perc 100 }
puts $perc
}

View File

@ -14,9 +14,9 @@ if {![file exists "${bfile}.mpg"]} {
puts "0"
} else {
set sz [file size $rfile]
set nsz [expr {[file size "${bfile}.mpg"] / 0.75}]
set nsz $([file size "${bfile}.mpg"] / 0.75)
set perc [expr {$nsz * 100 / $sz}]
set perc $($nsz * 100 / $sz)
if {$perc > 100} { set perc 100 }
puts $perc
}

View File

@ -17,7 +17,7 @@ if {![file exists $ntsfile]} {
set sz [file size $origfile]
set nsz [file size $ntsfile]
set perc [expr {$nsz * 100 / $sz}]
set perc $($nsz * 100 / $sz)
if {$perc > 100} { set perc 100 }
puts $perc
}

View File

@ -59,11 +59,11 @@ puts "<div style=\"width=100%; text-align: center\">
<input name=pos id=pos size=5 maxlength=4 value=\"$pos\">
second(s) into recording.
</form>
<button class=mvpos pos=[expr {$pos - 30}]>&lt;&lt; 30 seconds</button>
<button class=mvpos pos=[expr {$pos - 5}]>&lt; 5 seconds</button>
<button class=mvpos pos=$($pos - 30)>&lt;&lt; 30 seconds</button>
<button class=mvpos pos=$($pos - 5)>&lt; 5 seconds</button>
<button id=repos>Update</button>
<button class=mvpos pos=[expr {$pos + 5}]>&gt; 5 seconds</button>
<button class=mvpos pos=[expr {$pos + 30}]>&gt;&gt; 30 seconds</button>
<button class=mvpos pos=$($pos + 5)>&gt; 5 seconds</button>
<button class=mvpos pos=$($pos + 30)>&gt;&gt; 30 seconds</button>
</div>
<span id=start class=hidden>$start</span>
<span id=end class=hidden>$limit</span>
@ -71,7 +71,7 @@ puts "<div style=\"width=100%; text-align: center\">
<tr>
"
for {set i [expr {$start + 0.0}]} {$i <= $limit} {set i [expr {$i + 0.5}]} {
for {set i $($start + 0.0}) {$i <= $limit} {set i $($i + 0.5)} {
lappend times $i
puts "<th style=\"text-align: center\">
@ <span class=mark>$i</span>s</th>"

View File

@ -9,11 +9,11 @@ httpheader
set rfile [cgi_get file]
set s [cgi_get s 0]
set e [cgi_get e $($s + 2)]
set i [expr {[cgi_get i 0.5] + 0.0}]
set i $([cgi_get i 0.5] + 0.0)
if {![catch {set ts [ts fetch $rfile]}]} {
$ts cleanbmp
for {set n [expr {$s + 0.0}]} {$n <= $e} {set n [expr {$n + $i}]} {
for {set n $($s + 0.0)} {$n <= $e} {set n $($n + $i)} {
puts "Generating thumbnail for pos $n"
$ts mkbmp $n ".pos$n"
}

View File

@ -4,7 +4,7 @@ require system.class
proc dedupsort {a b} {
global dir
return [expr {[file mtime "$dir/$a"] > [file mtime "$dir/$b"]}]
return $([file mtime "$dir/$a"] > [file mtime "$dir/$b"])
}
proc dedupprocess {file} {{seen {}}} {

View File

@ -84,7 +84,7 @@ proc flags {val} {
set f ""
set fx ""
loop i 0 [llength $flaglist] {
if {[expr {$val & (1 << $i)}]} {
if {$($val & (1 << $i))} {
append f [lindex $flaglist $i]
append fx "[lindex $flagdescr $i]\n"
} else {
@ -135,20 +135,18 @@ foreach line [split $msg "\n"] {
set left ""
if {$flags eq ""} { set flags 0 }
if {$id ni $nolife &&
[expr {$flags & 0x18}] == 0x10 && $val == $worst && $val <= 100 &&
$($flags & 0x18) == 0x10 && $val == $worst && $val <= 100 &&
$thresh < 100} {
# Event counter which is not a rate and has not regressed.
set notes ""
set left [expr {100 - 100 * (100 - $val) / (100 - $thresh)}]
set left $(100 - 100 * (100 - $val) / (100 - $thresh))
if {$left < 10} { set class orangeshade }
# rval can be non-numeric (e.g. 6078h+41m+22.260s)
if {[regexp {^\d+$} $rval] && $rval > 0 && [\
dict exists $derive $id]} {
if {$left < 100} {
set total [ \
expr {round(($rval / (100 - $left) * 100) \
/ 10000) * 10000} \
]
set total $(round(($rval / (100 - $left) \
* 100) / 10000) * 10000)
set remain $($total - $rval)
set notes "$remain of approximately"
append notes " $total $derive($id)"
@ -157,9 +155,9 @@ foreach line [split $msg "\n"] {
set left "<span title=\"$notes\">$left%</span>"
}
if {$id == 190} {
append val " ([expr {100 - $val}]&deg;C)"
append worst " ([expr {100 - $worst}]&deg;C)"
append thresh " ([expr {100 - $thresh}]&deg;C)"
append val " ($(100 - $val)&deg;C)"
append worst " ($(100 - $worst)&deg;C)"
append thresh " ($(100 - $thresh)&deg;C)"
}
puts "<tr class=$class>
<td>$id</td>

View File

@ -66,7 +66,7 @@ foreach tw [$db query {
puts "
<tr class=odd>
<td>[f2c $ulFrequency]</td>
<td>[expr {$ulFrequency / 1000.0}] MHz</td>
<td>$($ulFrequency / 1000.0) MHz</td>
"
puts "<td>[progressbar $ucLevel]</td>"
puts "<td>[progressbar $ucQuality]</td>"

View File

@ -12,7 +12,7 @@ if {$autofreq == 0} { set autofreq 10 }
puts "{"
puts " \"autofreq\": \"$autofreq\","
puts " \"autolast\": \"[clock format $autolast] ([clock format \
[expr {[clock seconds] - $autolast}] -format %T] ago)\","
$([clock seconds] - $autolast) -format %T] ago)\","
puts " \"data\": \["
set flag 0

View File

@ -6,7 +6,7 @@ puts {
}
catch {
set rendertime [expr {([clock milliseconds] - $renderstart) / 1000.0}]
set rendertime $(([clock milliseconds] - $renderstart) / 1000.0)
puts "<span class=footnote>Rendered in: $rendertime seconds</span>"
}

View File

@ -32,7 +32,7 @@ foreach e $records {
}
set es [$e get start]
set ee [expr {$es + [$e get duration]}]
set ee $($es + [$e get duration])
$e process_sched
set recopts 1

View File

@ -65,7 +65,7 @@ puts "[clock format $s -format "%a %d %b %Y"]
if {$d > 0 && $n > $s && $n < $e} {
puts "<br>"
set perc [expr {[expr {$n - $s}] * 100 / $d}]
set perc $(($n - $s) * 100 / $d)
puts "<img class=va src=/images/745_1_11_Video_1REC.png>"
puts [progressbar $perc]
}

View File

@ -17,7 +17,7 @@ set svckeys [array names svcmap]
set conflictstart [clock milliseconds]
set conflicts [rsv newconflicts [system tuners] "xlist"]
set conflicttime [expr {([clock milliseconds] - $conflictstart) / 1000.0}]
set conflicttime $(([clock milliseconds] - $conflictstart) / 1000.0)
if {[llength $conflicts] > 1} {
puts "<div class=warningbox><div><center>
@ -109,7 +109,7 @@ proc eventrow {event {table TBL_RESERVATION}} {
set attrs "table=$table sid=[$event get ulslot] \
reckind=[$event get ucRecKind] rsvtype=[$event get ersvtype] \
ar=[expr {! [$event padded]}] ended=$ended"
ar=$(! [$event padded]) ended=$ended"
set ek [ekey $event]
set opts 1
@ -289,7 +289,7 @@ proc eventrow {event {table TBL_RESERVATION}} {
foreach e $elist {
lassign $e service_id start end event_id
if {$start == $s} continue
if {[incr i] == $max && [expr {$c - $i}] > 1} {
if {[incr i] == $max && $($c - $i) > 1} {
puts "<div class=\"hidden moretoshowc\">"
} else {
puts "<br>"

View File

@ -55,7 +55,7 @@ puts "[clock format $s -format "%a %d %b %Y"]
if {$d > 0 && $n > $s && $n < $e} {
puts "<br>"
set perc [expr {[expr {$n - $s}] * 100 / $d}]
set perc $(($n - $s) * 100 / $d)
puts "<img class=va src=/images/745_1_11_Video_1REC.png>"
puts [progressbar $perc]
}

View File

@ -132,7 +132,7 @@ set padadj 0
# Returns an absolute number of pixels from the left corresponding
# to a number of seconds into the day.
proc secstopx {daysecs hourpx usedhours} {
set max [expr {int($daysecs / 3600)}]
set max $(int($daysecs / 3600))
# Subtract any unused hours from $daysecs.
for {set i 0} {$i < $max} {incr i} {
if {$i >= 24} break
@ -140,7 +140,7 @@ proc secstopx {daysecs hourpx usedhours} {
incr daysecs -3600
}
}
return [expr {int($daysecs * $hourpx / 3600)}]
return $(int($daysecs * $hourpx / 3600))
}
# daysecs - absolute number of seconds into the day that needs to be reached.
@ -295,7 +295,7 @@ proc render_timeline {usedhours} {
}
# calculate pixels per hour
set hourpx [expr {int($width / $tothours)}]
set hourpx $(int($width / $tothours))
if {$debug} {
puts "USEDHOURS: $usedhours<br>\n"

View File

@ -7,7 +7,7 @@ proc _ns_extractip {blob} {
set r {}
binary scan $blob c4 octets
foreach octet $octets {
lappend r [expr {$octet & 0xff}]
lappend r $($octet & 0xff)
}
return [join $r .]
}

View File

@ -37,10 +37,10 @@ require epg_popup
set now [clock seconds]
set stt [cgi_get stt $now]
set dst [expr {$now - $stt}]
set dst $($now - $stt)
if {$dst >= 0 && $dst < 1800} {
set current 1
} elseif { $stt < [expr {int ($now / 86400) * 86400}] } {
} elseif { $stt < $(int ($now / 86400) * 86400) } {
set stt $now
set current 0
} else {
@ -51,7 +51,7 @@ set favgroup [$settings channel_group]
set hours [cgi_get hours -]
if {$hours eq "-"} {
set hours [expr {1.0 * [[settings] xepghours]}]
set hours $(1.0 * [[settings] xepghours])
}
if {$hours == 0} { set hours 4.0 }
@ -61,7 +61,7 @@ if {$hours > 8} { set hours 8.0 }
set seconds $($hours * 3600)
set ostt $stt
set stt [expr {int($stt / 1800.0) * 1800}]
set stt $(int($stt / 1800.0) * 1800)
set ett $(int($stt + $seconds))
set offset 0
@ -124,11 +124,11 @@ for {set i 0} {$i < 24} {incr i} {
if {$i == $starthour} {
append xclass " tjstart"
} elseif {$i > $starthour && $i < [expr {$starthour + $hours}]} {
} elseif {$i > $starthour && $i < $($starthour + $hours)} {
append xclass " tjother"
}
set tt [expr {$starthour + $stt + 3600 * ($i - $starthour)}]
set tt $($starthour + $stt + 3600 * ($i - $starthour))
# Back to start of hour
set tt $(3600 * int($tt / 3600))
@ -191,7 +191,7 @@ puts "
for {set i 0} {$i < $hours * 2} {incr i} {
puts "<div class=xetime id=xe$i
style=\"width: [expr {$minpx * 30}]px\">"
style=\"width: $($minpx * 30)px\">"
puts "[clock format $($stt + 1800 * $i) -format "%H:%M"]</div>"
}
@ -201,7 +201,8 @@ puts "</div>"
######################################################################
# Events
if {[catch {set stt2 [expr {$stt + 0}]}]} { set stt2 0 }
set stt2 0
catch {set stt2 $($stt + 0)}
puts "
<script type=text/javascript>
var hours = $hours;
@ -260,7 +261,7 @@ foreach e $records {
}
set es [$e get start]
set ee [expr {$es + [$e get duration]}]
set ee $($es + [$e get duration])
if {$es < $le} continue
@ -270,19 +271,18 @@ foreach e $records {
set txt [list [cgi_quote_html [$e get name]] "([\
clock format $es -format "%H:%M"] - [\
clock format $ee -format "%H:%M"])[\
expr {$showing ? " ($perc%)" : ""}]"]
clock format $ee -format "%H:%M"])$($showing ? " ($perc%)" : "")"]
if {$es < $stt} { set es $stt }
if {$ee > $ett} { set ee $ett }
set left [expr {int(($es - $stt) * $secpx)}]
set right [expr {int(($ee - $stt - 1) * $secpx)}]
set left $(int(($es - $stt) * $secpx))
set right $(int(($ee - $stt - 1) * $secpx))
if {$le == 0 && $es > $stt} {
# EPG data carried over from previous day have been purged
set pos $left
puts "<div class=\"xeprog $bg\"
style=\"width: [expr {$pos - 3}]px;\" title=\"Unknown\">
style=\"width: $($pos - 3)px;\" title=\"Unknown\">
<i>Unknown</i></div>"
}
@ -313,7 +313,7 @@ foreach e $records {
}
puts "<div class=\"xeprog $lbg\"
style=\"width: [expr {$px - 4}]px;\" title=\"[join $txt]\">
style=\"width: $($px - 4)px;\" title=\"[join $txt]\">
<a class=event href=# xs=[$e get service_id]
xe=[$e get event_id] sch=[$e get sched_type]
rec=$recopts>"

View File

@ -13,8 +13,8 @@ puts "<span class=versions>
Web interface version: [system pkgver webif]<br>
Custom firmware version: $modver
"
catch {set fhtcpversion [system fhtcpversion]}
catch {set kernelver [system kernelver]}
set fhtcpversion [system fhtcpversion]
set kernelver [system kernelver]
puts "<br>Humax Version: $fhtcpversion (kernel $kernelver)"
puts "<br>Loader Version: [system loaderver]"
puts "<br>System ID: [system systemid]"

View File

@ -11,7 +11,7 @@ if {![exists -proc altrow]} {
0 { puts -nonewline " class=odd" }
1 { puts -nonewline " class=even" }
}
set i [expr {! $i}]
set i $(!$i)
}
if {$attrs ne ""} { puts -nonewline " $attrs" }
puts ">";

View File

@ -63,7 +63,7 @@ puts "\n-- Purge\n"
proc logsort {a b} {
global logdir
return [expr {[file mtime "$logdir/$a"] - [file mtime "$logdir/$b"]}]
return $([file mtime "$logdir/$a"] - [file mtime "$logdir/$b"])
}
foreach log $baselogs {

View File

@ -86,7 +86,7 @@ epg method percent {} {
set now [clock seconds]
if {$start > $now} { return 0 }
if {$start + $duration < $now} { return 100 }
return [expr {[expr {$now - $start}] * 100 / $duration}]
return $(($now - $start) * 100 / $duration)
}
epg method showing {} {
@ -110,11 +110,11 @@ epg method elapsed {} {
set percent [$self percent]
if {$percent == 0} { return 0 }
if {$percent == 100} { return $duration }
return [expr {$duration * $percent / 100}]
return $($duration * $percent / 100)
}
epg method remaining {} {
return [expr {$duration - [$self elapsed]}]
return $($duration - [$self elapsed])
}
epg method end {} {

View File

@ -1,7 +1,7 @@
if {![exists -proc progressbar]} {
proc progressbar {percent} {
set pos [expr {118 - $percent / 100.0 * 118}]
set pos $(118 - $percent / 100.0 * 118)
return "<img src=/img/percentimage.png
title=\"$percent%\"
alt=\"$percent%\" class=progress

View File

@ -167,7 +167,7 @@ proc {queue startup} {{days 7}} {
delete from queue
where status in ('COMPLETE', 'FAILED')
and submitted < %s
} [expr {[clock seconds] - 86400 * $days}]
} $([clock seconds] - 86400 * $days)
] ] ]
}

View File

@ -213,11 +213,8 @@ rsv method szsttime_stamp {} {
set spaced [regsub {^(....)(..)(..)(..)(..)(..).*} \
$szsttime {\1 \2 \3 \4 \5 \6}]
if {[catch {
set stamp [clock scan $spaced -format "%Y %m %d %H %M %S"]
}]} {
return 0
}
set stamp 0
catch {set stamp [clock scan $spaced -format "%Y %m %d %H %M %S"]}
return $stamp
}
@ -292,7 +289,7 @@ rsv method iconset {{height 20}} {
lappend iconlist "<img src='/images/$icon' height=$height>"
if {$ersvtype == 3} {
if {[$self padded]} {
set padding "<- [expr {$ulPreOffset / 60}], [expr {$ulPostOffset / 60}] ->"
set padding "<- $($ulPreOffset / 60), $($ulPostOffset / 60) ->"
lappend iconlist \
"<img src=/img/pad.png height=$height
title=\"$padding\" alt=\"$padding\">"
@ -1078,7 +1075,7 @@ proc {rsv backup} {file} {
loop i 1 6 {
set favname [system strip \
[system param FAV_CUSTOM_STR0$i Text]]
set idx [expr {1 << ($i - 1)}]
set idx $(1 << ($i - 1))
set favnames($idx) $favname
puts $fd "favname\t$i\t$idx\t$favname"
puts " $favname"

View File

@ -315,6 +315,7 @@ settings method audiomp3descr {val} {
settings method channel_groups {} {
set ret ""
set res ""
set db [sqlite3.open /var/lib/humaxtv/setup.db]
catch {
set res [$db query {

View File

@ -54,9 +54,8 @@ proc {system modversion} {{short 0}} {{modver ""}} {
proc {system modbuild} {} {{modbuild ""}} {
if {$modbuild ne ""} { return $modbuild }
if {[catch {set modbuild [string trim [file read /etc/modbuild]]}]} {
set modbuild 0
}
set modbuild 0
catch {set modbuild [string trim [file read /etc/modbuild]]}
return $modbuild
}
@ -412,11 +411,7 @@ proc {system dustbinsize} {} {
set bin [system dustbin]
set ret 0
if {[file isdirectory $bin]} {
if {[catch {
lassign [exec /mod/bin/busybox/du -s $bin] ret
}]} {
set ret 0
}
catch {lassign [exec /mod/bin/busybox/du -s $bin] ret}
}
return $($ret * 1024)
}
@ -479,22 +474,17 @@ proc {system diskspace} {{raw 0}} {
set perc $($used * 100 / $size)
set fperc $(100 - $perc)
if {[catch {set tsrts [file size [system tsr]]}]} {
set tsrts 0
}
if {[expr {$tsrts > 0}]} {
set tsrbuf 21474836480
if {[catch {
set tsrbuf 0
set tsrused 0
set tsrts 0
catch {set tsrts [file size [system tsr]]}
if {$tsrts > 0} {
if {![catch {
lassign [exec du -ks [system tsrdir]] tsrused
}]} {
set tsrused 0
set tsrbuf 0
} else {
set tsrbuf 21474836480
set tsrused $($tsrused * 1024)
}
} else {
set tsrbuf 0
set tsrused 0
}
if {!$raw} {
@ -750,9 +740,8 @@ proc {system nuggeted} {} {
}
proc {system nugget} {args} {
if {[catch {set ret [exec /mod/bin/nugget {*}$args]} msg]} {
return ""
}
set ret ""
catch {set ret [exec /mod/bin/nugget {*}$args]}
return $ret
}

View File

@ -44,7 +44,7 @@ set ::b64::unmap [join [lmap {a b} $::b64::map {list $b $a}]]
proc ::b64::encode {str} {
binary scan $str B* bits
switch [expr {[string length $bits]%6}] {
switch $([string length $bits] % 6) {
0 {set tail {}}
2 {append bits 0000; set tail ==}
4 {append bits 00; set tail =}
@ -55,7 +55,7 @@ proc ::b64::encode {str} {
proc ::b64::decode {str} {
set nstr [string trimright $str =]
set dstr [string map $::b64::unmap $nstr]
switch [expr {[string length $str]-[string length $nstr]}] {
switch $([string length $str]-[string length $nstr]) {
0 {#nothing to do}
1 {set dstr [string range $dstr 0 {end-2}]}
2 {set dstr [string range $dstr 0 {end-4}]}

View File

@ -30,7 +30,7 @@ xml method next {{peek 0}} {
if {$txt1 >= $txt0} {
set txt [string range $xml $txt0 $txt1]
if {!$peek} {
set loc [expr {$txt1 + 1}]
set loc $($txt1 + 1)
}
if {$txt ne ""} {
set txt [$self decodeCharEntities $txt]
@ -40,7 +40,7 @@ xml method next {{peek 0}} {
set token [string range $xml $tok0 $tok1]
if {!$peek} {
set loc [expr {$all1 + 1}]
set loc $($all1 + 1)
}
if {[regexp {^!\[CDATA\[(.*)\]\]} $token => txt]} {
return [list TXT $txt]
@ -130,12 +130,12 @@ xml method _isWellFormed {} {
}
if {[string equal -nocase "xml" $val]} {return $emsg(BADPI)}
# Mark as seen PI
set seen [expr {$seen | 2}]
set seen $($seen | 2)
continue
} elseif {$type eq "XML" && $val eq "!DOCTYPE"} {
# Doctype
if {$seen & 4} { return $emsg(MULTIDOCTYPE) }
set seen [expr {$seen | 4}]
set seen $($seen | 4)
continue
}
break