JCGILIB_EXAMPLEV1.0 4-NOV-2021 10:09 VSI C V7.4-002  $READONLY$iT $CODE$ $LITERAL$$LINK$   CGIPLUSCOUNT0 CGIPLUSCOUNT   CGIPLUSSLEEP0 CGIPLUSSLEEP   CGIPLUSUSAGE0 CGIPLUSUSAGE DEBUG(DEBUG  ISCGIPLUS0 ISCGIPLUS  CGICONTENTTYPEPTR8 CGICONTENTTYPEPTR  CGIQUERYSTRINGPTR8 CGIQUERYSTRINGPTR  CGIREQUESTMETHODPTR8 CGIREQUESTMETHODPTR(JHMAIN0JPROCESSREQUEST0Jp PROCESSPOST(J__MAIN @6= =\ T #G8^~ _#0"@^4GHcGG#]("8[@b "G@Zk(=0b#@XBG4G`b@ZkcG8]@]HP#k///#8[4G^~[^ ~(GG" >b/@Zk"CB4Gb/ @Zk8"`TGhBpb!"@Zk8B4Gbp"/@Zk8BG4G@b@Zk8" "4GBbX"@Zk8BG4G@b@Zk""4GB =GtGb@ZkBGb b@Zk("//B4Gbh"@ZkPb#)@XBG`b@Zk 1@/BHB4GPb/@Zk//Pb#@G]]4G }(0#k//B4G4Gb@Zk///X#;TG ^~[@!"(^0~8@GG b/@ZkB4Gb("@Zk("BGb@ZkB//Gb/@ZkBbGp""bTG/@Zk8BG@b@Zk"BGG bHb!"/@ZkBGb@Zk"tGB b!0 B4"A@ZkBGb@ZkXB//G`b/@Zk///"BTG b!"/@ZkB4Gb"@Zk(BP""b@Zk///b#q@6èBGb/@ZkxB//Gb/@Zk(#BGb=/@ZkBtG bh4 PT"4"D@Zk(B4G0b"/@Zk//BG8""tG b@Zk(B4G0b"/@Zk"B4Gb "@ZkBCGTGb/@Zk"BTG b!"@ZkHB="TGPb/@Zk//BG8""tG b@ZkHBTG="Pb@ZkG ](]0}8@P#k//h# ;TG ^~([(^0~8GGp;"0b@ZkB"TG="b/@Zk=GGBGb@ @D"pt"/@Zk//B4Gb bX"@Zk"BCTGBb02"/@ZkxBa=b@Zk(BTG0b "@ZkBGb@Zk"(BTG0b!"@Zk/BGb/@Zk"(BTG0b@!"@Zk8B4G"@b@Zk/(BGH""tG0b@Zk8B4G@b"/@Zk(BTG"0b/@ZkXB="TG`b/@Zk//(BGH""tG0b@ZkXBTG="`b@ZkB4Gb@ZkØBGTG""b@Zk BTGb @ZkB4Gb@ZkG ](]0}8@#k45HGd DECC$MAIN46Lb# DECC$MAIN45`@d DECC$MAIN4)tG DECC$EXIT4*b# DECC$EXIT4)@ DECC$EXIT4-G DECC$GETENV4.b#H DECC$GETENV4-@ DECC$GETENVD+GCGILIBENVIRONMENTSETDEBUGD,b#HCGILIBENVIRONMENTSETDEBUGD+@CGILIBENVIRONMENTSETDEBUG4$G8DECC$GXFPRINTF4(b#HDECC$GXFPRINTF44@8DECC$GXFPRINTF4-<GT DECC$GETENV4.Db#H DECC$GETENV4-P@T DECC$GETENV4/TGl DECC$ATOI40db#H DECC$ATOI4/h@l DECC$ATOI4-xG DECC$GETENV4.|b#H DECC$GETENV4-@ DECC$GETENV4/G DECC$ATOI40b#H DECC$ATOI4/@ DECC$ATOI<'GCGILIBENVIRONMENTINIT<(b#HCGILIBENVIRONMENTINIT<'@CGILIBENVIRONMENTINIT DGCGILIBENVIRONMENTISCGIPLUSDb#HCGILIBENVIRONMENTISCGIPLUSD@CGILIBENVIRONMENTISCGIPLUS4 G CGILIBVAR4 b#H CGILIBVAR4 @ CGILIBVAR<3G,CGILIBCGIPLUSEOF<4$b#HCGILIBCGIPLUSEOF<3(@,CGILIBCGIPLUSEOF41LGd DECC$SLEEP42Tb#H DECC$SLEEP41`@d DECC$SLEEP4)G DECC$EXIT4*b#H DECC$EXIT4)@ DECC$EXIT4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF4 G, CGILIBVAR4  b# CGILIBVAR4 (@, CGILIBVAR<!0GDCGILIBENVIRONMENTISWASD<"8b#CGILIBENVIRONMENTISWASD<!@@DCGILIBENVIRONMENTISWASDDDGdCGILIBENVIRONMENTRECORDOUTD Xb#CGILIBENVIRONMENTRECORDOUTD`@dCGILIBENVIRONMENTRECORDOUT<dGCGILIBRESPONSEHEADER<tb#CGILIBRESPONSEHEADER<@CGILIBRESPONSEHEADER<#GCGILIBENVIRONMENTNAME<$b#CGILIBENVIRONMENTNAME<#@CGILIBENVIRONMENTNAME4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTFDGCGILIBENVIRONMENTISCGIPLUSDb#CGILIBENVIRONMENTISCGIPLUSD@CGILIBENVIRONMENTISCGIPLUS4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF<!GCGILIBENVIRONMENTISWASD<" b#CGILIBENVIRONMENTISWASD<!@CGILIBENVIRONMENTISWASDD%G4CGILIBENVIRONMENTISAPACHED&(b#CGILIBENVIRONMENTISAPACHED%0@4CGILIBENVIRONMENTISAPACHE4HGdDECC$GXFPRINTF4Tb#DECC$GXFPRINTF4`@dDECC$GXFPRINTF4hG| DECC$SYSTEM4pb# DECC$SYSTEM4x@| DECC$SYSTEM4G DECC$STRCMP4b# DECC$STRCMP4@ DECC$STRCMPDGCGILIBENVIRONMENTISCGIPLUSDb#CGILIBENVIRONMENTISCGIPLUSD@CGILIBENVIRONMENTISCGIPLUS<GCGILIBENVIRONMENTISOSU<b#CGILIBENVIRONMENTISOSU<@CGILIBENVIRONMENTISOSUDGCGILIBENVIRONMENTISCGIPLUSDb#CGILIBENVIRONMENTISCGIPLUSD@CGILIBENVIRONMENTISCGIPLUS4G,DECC$GXFPRINTF4b#DECC$GXFPRINTF4(@,DECC$GXFPRINTF4,GD CGILIBVARNULL 44b# CGILIBVARNULL4@@D CGILIBVARNULL4PGlDECC$GXFPRINTF4db#DECC$GXFPRINTF4h@lDECC$GXFPRINTF4lG CGILIBVARNULL4tb# CGILIBVARNULL4@ CGILIBVARNULL4 G CGILIBVAR4 b# CGILIBVAR4 @ CGILIBVAR4G DECC$STRCHR4b# DECC$STRCHR4@ DECC$STRCHR4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF<GCGILIBFORMENCODEDPARSE<b#CGILIBFORMENCODEDPARSE<@CGILIBFORMENCODEDPARSE4G,DECC$GXFPRINTF4$b#DECC$GXFPRINTF4(@,DECC$GXFPRINTF<,GDCGILIBFORMENCODEDPARSE<<b#CGILIBFORMENCODEDPARSE<@@DCGILIBFORMENCODEDPARSE4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF<GCGILIBREADREQUESTBODY<b#CGILIBREADREQUESTBODY<@CGILIBREADREQUESTBODY< GCGILIBRESPONSEERROR< b#CGILIBRESPONSEERROR< @CGILIBRESPONSEERROR4 $G< CGILIBVAR4 ,b# CGILIBVAR4 8@< CGILIBVAR4LGd DECC$STRCMP4Pb# DECC$STRCMP4`@d DECC$STRCMP<dG|CGILIBFORMREQUESTBODY<tb#CGILIBFORMREQUESTBODY<x@|CGILIBFORMREQUESTBODY4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTFDGCGILIBENVIRONMENTISCGIPLUSDb#CGILIBENVIRONMENTISCGIPLUSD@CGILIBENVIRONMENTISCGIPLUS4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF<GCGILIBENVIRONMENTISOSU<b#CGILIBENVIRONMENTISOSU<@CGILIBENVIRONMENTISOSU4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF4G CGILIBVARNULL4b# CGILIBVARNULL4@ CGILIBVARNULL4 G<DECC$GXFPRINTF44b#DECC$GXFPRINTF48@<DECC$GXFPRINTF4<GT CGILIBVARNULL4Db# CGILIBVARNULL4P@T CGILIBVARNULL4XGtDECC$GXFPRINTF4hb#DECC$GXFPRINTF4p@tDECC$GXFPRINTF<tGCGILIBFORMENCODEDPARSE<b#CGILIBFORMENCODEDPARSE<@CGILIBFORMENCODEDPARSE 4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF<GCGILIBFORMENCODEDPARSE<b#CGILIBFORMENCODEDPARSE<@CGILIBFORMENCODEDPARSE4 G DECC$FREE4b# DECC$FREE4 @ DECC$FREE<G CGILIBRESPONSEHEADER< b#CGILIBRESPONSEHEADER< @ CGILIBRESPONSEHEADER4 G$ DECC$FPUTS4 b# DECC$FPUTS4 @$ DECC$FPUTS4 $ G8 DECC$FREE40 b# DECC$FREE4 4 @8 DECC$FREE )=H= Here are the form elements via CgiLibFormEncodedParse(): @=H?(via OSU, so you'll also see the CGI environment variables) =PB(via CGIplus, so you'll also see the CGI environment variables) =paRequest was via a POSTed form. Here are the form elements converted to pseudo CGI variables: 0=0#application/x-www-form-urlencodedX= WWW_CONTENT_TYPEp= No body in the POST!=uWASD_ROOT:[src.misc]CGILIB_EXAMPLE.C;1 Here are the form elements of QUERY_STRING via CgiLibFormEncodedParse(): = WWW_QUERY_STRING=@4These are the CGI variables created from the %s: P= CGIPLUSIN streamh= OSU dialog phase= SHOW SYMBOL WWW_*=XIThese are the CGI variables contained in the subprocess' DCL symbols: = Usage count is %d. =0$Current environment is "%s" (%s) (= WWW_REQUEST_METHOD@= ProcessRequest() X= CGILIB_EXAMPLE$SLEEPp= CGILIB_EXAMPLE$COUNT=(Content-Type: text/plain =CGILIB_EXAMPLE$DBUG L CGILIBFORMREQUESTBODY CGILIBENVIRONMENTISOSU CGILIBRESPONSEHEADER CGILIBREADREQUESTBODY CGILIBRESPONSEERROR CGILIBVAR DECC$FREE=*x7CGICONTENTTYPEPTR;=0 "p;=@0 7DECC$GA_STDOUTDECC$GXFPRINTF CGILIBVARNULL= %s  CGILIBFORMENCODEDPARSE7DEBUG=(ProcessPost() text/plain  DECC$FPUTS DECC$STRCMP(CGILIBENVIRONMENTISCGIPLUS DECC$STRCHR DECC$SYSTEM(CGILIBENVIRONMENTRECORDOUT(!CGILIBENVIRONMENTISWASD7 CGIPLUSUSAGE=0 ";=P< 7CGIQUERYSTRINGPTR7CGIREQUESTMETHODPTR #CGILIBENVIRONMENTNAME7CGILIB__SOFTWAREID=POST(%CGILIBENVIRONMENTISAPACHE 'CGILIBENVIRONMENTINIT) DECC$EXIT(+CGILIBENVIRONMENTSETDEBUG- DECC$GETENV7 CGIPLUSSLEEP=0";=0( 7 CGIPLUSCOUNT7 ISCGIPLUS/ DECC$ATOI1 DECC$SLEEP 3CGILIBCGIPLUSEOF==08";=P0 7DECC$$SHELL_HANDLER=5 DECC$MAIN D=4,+CGILIB_EXAMPLEVSI C V7.4-002 ?= H4=TRANSFER$BREAK$GO = 4H4= main4=           (  =  = 44=ProcessRequest4=.&                                  ( =  n= p44= ProcessPostp4=           & ( & ( - -} 2 1 2 6 5 6 9 < ? @ A @ =  s= 44= __main4=  =  =  xDECC$GA_STDOUTDECC$GXFPRINTF DECC$FPUTS DECC$SLEEP DECC$ATOI DECC$FREE DECC$EXIT DECC$SYSTEM DECC$GETENV DECC$STRCHR DECC$STRCMP CGILIB__SOFTWAREID CGILIBVAR CGILIBVARNULL CGILIBCGIPLUSEOF CGILIBENVIRONMENTINIT(CGILIBENVIRONMENTISAPACHE(CGILIBENVIRONMENTISCGIPLUS CGILIBENVIRONMENTISOSU CGILIBENVIRONMENTISWASD CGILIBENVIRONMENTNAME(CGILIBENVIRONMENTSETDEBUG(CGILIBENVIRONMENTRECORDOUT CGILIBREADREQUESTBODY CGILIBFORMREQUESTBODY CGILIBFORMENCODEDPARSE CGILIBRESPONSEERROR CGILIBRESPONSEHEADER DECC$MAIN DECC$$SHELL_HANDLER C$GA