--- parser3/src/www/htdocs/Attic/index.html 2001/10/31 14:01:45 1.452
+++ parser3/src/www/htdocs/Attic/index.html 2001/11/21 10:02:13 1.486
@@ -1,5 +1,25 @@
@main[]
-^sappend[]
+#^ttaintuntaint[]
+#^tappend2[]
+#^badvsnprintf[]
+#^badoracequoting[]
+#^badconstructors[]
+#^xloadwrongtable[]
+#^xsetwrongtable[]
+#^if($form:test){y}{n}
+#^tablecolumnerror[]
+#^roll[]
+#^cookie2[]
+#^tableset[]
+#^math:PI.format{%.30f}
+#^xchildren[]
+#^thashforeach3[]
+#^thashforeach2[]
+#^thashforeach[]
+#^thashdelete[]
+#^connect[mysql://user:pass@cd.rinet.ru/db]{^void:sql{z} }
+#^tappend[]
+#^sappend[]
#^eval(10\3)
#^tform[]
#^formattest[]
@@ -46,16 +66,172 @@
#^exec[]
#^fori[]
#^tconnect[]
-#^xslt[]
+^xslt[]
#^xml[]
#^header[]
+
OK
+@ttaintuntaint[]
+^taint[html][
+
+]zz
+
+^untaint[html]{1^taint[ ]2 3}
+
+
+@tappend2[]
+$t[^table::set{a b}]^t.append{1 2}$t.a
+
+@badvsnprintf[]
+^connect[zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz]{
+}
+
+
+@badoracequoting[]
+$SQL.connect-string[oracle://webspb:webpwd@mts?NLS_LANG=RUSSIAN_AMERICA.CL8MSWIN1251&NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS]
+^connect[$SQL.connect-string]{
+^void:sql{delete from paf}
+^void:sql{insert into paf values (1, '$form:text')}
+$paf[^table::sql{select * from paf}]
+^paf.menu{
+ $paf.id: ^untaint{$paf.block}
+
+}
+
+
+
+^rem{
+$news[^table::sql{select description from news}[$.limit(3)]]
+^news.menu{
+ ^untaint{$news.description}
+
+}
+
+}
+
+$tables[^table::sql{select table_name from user_tables}]
+^tables.menu{
+$tables.table_name
+}
+
+}
+
+$env:PATH
+
+@badconstructors[]
+$bred[^string::length[]]
+$bred[^response::clear[]]
+$bred[^int::int[]]
+
+
+@xloadwrongtable[]
+$constr[^xdoc::load[wrongtable.xml]]
+
+@xsetwrongtable[]
+$constr[^xdoc::set{
+^untaint[as-is]{$constructor}}]
+
+
+@tablecolumnerror[]
+$t[^table::set{a}]
+$t.$a
+
+@roll[]
+#$date[^date::set(1970;1;2)]
+#^date.roll[month](-1)
+$date[^date::set(2038;1;1)]
+^date.roll[month](+1)
+$date.year $date.month $date.day
+
+@cookie2[]
+#=$cookie:clientType[$.value[test]]=
+=$cookie:clientType=
+
+
+@tableset[]
+$a[^table::set{a
+1
+2}]
+^eval(100\$a)
+
+
+
+@zzz[]
+
+
+$constructor[
+
+
+]
+
+$constr[^xdoc::set{
+^untaint[as-is]{$constructor}}]
+
+$children[$constr.documentElement.childNodes]
+^if($children){
+^for[i](1;^children._count[]){
+ $node[$children.$i]
+ $node.nodeName
+}
+}
+
+
+@thashforeach3[]
+$h[
+ $.a[1]
+ $.b[2]
+]
+$c[^table::set{a
+^h.foreach[key;value]{$value
+}}]
+$c.a
+
+@thashforeach2[]
+$h[
+ $.a[1]
+ $.b[2]
+]
+$c[
+^h.foreach[key;value]{
+ $.$key[$value]
+}
+]
+$c.b
+
+@thashforeach[]
+$h[
+ $.a[1]
+ $.b[2]
+]
+^h.foreach[key;value]{
+ $key=$value
+}
+
+@thashdelete[]
+$h[$.a[1] $.b[2]]
+was:
+count=^h._count[]
+b='$h.b'
+
+^h.delete[b]
+
+now:
+count=^h._count[]
+b='$h.b'
+
@sappend[]
$test[123]
^test.save[test]
^test.save[append;test]
+@tappend[]
+$test[^table::set{a b
+a1 b1}]
+^test.save[test]
+$test[^table::set{a b
+a2 b2}]
+^test.save[append;test]
@tform[]
@@ -86,7 +262,7 @@ $dom_created_in_air[^xdoc::create[doc]]
@tcache[]
#^hashfile:clear[cache]
-$code[^hashfile::open[cache]]
+$code[^hashfile::open[$DB_HOME;cache]]
^code.cache[key](2){
^math:random(100)
# ^code.delete[]
@@ -94,20 +270,24 @@ $code[^hashfile::open[cache]]
@thashfileexp[]
-$hf[^hashfile::open[hashfile]]
+$hf[^hashfile::open[$DB_HOME;hashfile]]
$hf.paf[$.value[крут] $.expires(3)]
paf=$hf.paf
+^hf.foreach[key;value]{
+ $key=$value
+}
+
$hash[^hf.hash[]]
=$hash.paf=
@tcounter[]
^tcounterone[$DB_HOME]
-#other root:
-#^tcounterone[${DB_HOME}2]
-#again, first:
-#^tcounterone[$DB_HOME]
+other root:
+^tcounterone[${DB_HOME}2]
+again, first:
+^tcounterone[$DB_HOME]
@tcounterone[DB_HOME]
$counter[^hashfile::open[$DB_HOME;counter]]
@@ -160,8 +340,8 @@ paf=$hf.paf
$a
$xdoc[^xdoc::create[doc]]
$doc[$xdoc.documentElement]
-$name[^doc.appendChild[^xdoc.createElement{name}]]
-$text[^name.appendChild[^xdoc.createTextNode{петросян ^;co}]]
+$name[^doc.appendChild[^xdoc.createElement[name]]]
+$text[^name.appendChild[^xdoc.createTextNode[петросян&coz]]]
^untaint[as-is]{=$text.nodeValue=}
@domedit[]
@@ -422,7 +602,17 @@ $a.status|$a.stderr
@xdata[]
#$response:content-type[$.value[text/html] $.charset[windows-1251]]
-$xdoc[^xdoc::load[input.xml]]
+$xdoc[^xdoc::set{
+
+
+
+ P«^;AF B
+
+
+ ПИФ^taint[&]
+
+
+}]
@xml[]
^xdata[]
@@ -483,7 +673,7 @@ by id:
}
@show-xdoc2[xdoc]
-^xdoc.save[save.xml;
+^xdoc.save[out/save.xml;
# $.encoding[windows-1251]
$.method[xml]
]
@@ -491,10 +681,11 @@ $file[^xdoc.file[
# $.encoding[windows-1251]
$.method[html]
]]
-^file.save[text;save_file.html]
-taint[^xdoc.string[]]
-# $.encoding[windows-1251]
-# $.method[html]
+^file.save[text;out/save_file.html]
+^taint[^xdoc.string[
#]]
+# $.encoding[windows-1251]
+ $.method[html]
+]]