=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v retrieving revision 1.8 retrieving revision 1.10 diff -u -p -r1.8 -r1.10 --- OpenXM/src/kan96xx/Doc/httpd-asir.sm1 2001/04/22 04:35:46 1.8 +++ OpenXM/src/kan96xx/Doc/httpd-asir.sm1 2001/04/23 13:34:00 1.10 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.7 2001/04/22 01:02:27 takayama Exp $ +%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.9 2001/04/22 04:55:07 takayama Exp $ %% http server by sm1 /httpd.port 1200 def @@ -65,7 +65,11 @@ def }{ 10 (string) dc /mmm set } ifelse - [(sm1.socket) (write) [httpd.server.fd 0 get mmm]] extension message + [(sm1.socket) (select) [httpd.server.fd 0 get 0]] extension { + (Warning: your peer closed the connection. Do not send the data.) message + } { + [(sm1.socket) (write) [httpd.server.fd 0 get mmm]] extension message + } ifelse ] pop popVariables } def @@ -170,11 +174,11 @@ def ( asirweb ) ( Input-) httpd.serial toString (: ) - (
 ) httpd.com (
) (
) + httpd.com preformatHTML (
) } ifelse ( Output-) httpd.serial toString (: ) - (
) httpd.result (
) + httpd.result preformatHTML ] cat send-page-3 exit } { exit } ifelse %% metaCommand @@ -462,6 +466,33 @@ def } loop s j carN /s set s { (string) dc } map cat /arg1 set + ] pop + popVariables + arg1 +} def + +/preformatHTML { + /arg1 set + [/in-preformatHTML /sss /c] pushVariables + [ + /sss arg1 def + sss (array) dc /sss set + sss { + /c set + [ + c 60 eq { + /c (<) def + } { } ifelse + c 62 eq { + /c (>) def + } { } ifelse + c 38 eq { + /c (&) def + } { } ifelse + ] pop + c (string) dc + } map cat /sss set + [(
 ) sss ( 
)] cat /arg1 set ] pop popVariables arg1