Processing table: lib/prc.urldec




 
If:
' brian@aljex.com - urldec

 
 
Then:
' convert url-encoded text to plain text

 
If:
' example plain text  : blah)^%$#@

 
 
Then:
' example url text    : blah%29%5E%25%24%23%40%0D%0A

 
If:
' definition: url encoding is:

 
 
Then:
' % + <hex ascii value of character in latin1 character set>

 
If:
' usage: declare global urlenc_di, urlenc_do

 
 
Then:
' urlenc_di = "input string" ; call "cgi/urldec" ; show urlenc_do

 
If:
' data-in data-out

 
 
Then:
declare extern urlenc_di, urlenc_do

 
If:
' position length inchar outchar

 
 
Then:
declare urlenc_dp(9,.0), urlenc_dl(9,.0), urlenc_ic(3), urlenc_oc(1), urlenc_dit

 
If:
 

 
 
Then:
urlenc_dp = "1" ; urlenc_do = ""

 
If:
 

 
 
Then:
urlenc_dit = urlenc_di{"" ; urlenc_dl = len(urlenc_dit)

If:
 

 
 
Then:
urlenc_oc = mid(urlenc_di,urlenc_dp,"1")

 
If:
 

 
 
Then:
urlenc_ic = mid(urlenc_di,urlenc_dp+"1","2")

 
If:
urlenc_oc eq "%"

 
 
Then:
urlenc_oc = chr(base(urlenc_ic,"16","10")) ; urlenc_dp = urlenc_dp + "2"

 
If:
 

 
 
Then:
urlenc_do = urlenc_do & urlenc_oc

 
If:
urlenc_dp lt urlenc_dl

 
 
Then:
urlenc_dp = urlenc_dp + "1" ; goto nxtchr