// Copyright (C) 2002, Wayne Diamond ?>

FUNCTION URLUnEncode( url AS STRING) AS STRING
LOCAL pbByte AS BYTE PTR
LOCAL pbUrl AS BYTE PTR
LOCAL pbTable AS BYTE PTR
LOCAL b1 AS BYTE
STATIC table AS STRING
LOCAL pszReturnStr AS ASCIIZ PTR
IF table="" THEN
table=table+CHR$(0)+CHR$(1)+CHR$(2)+CHR$(3)+CHR$(4)+CHR$(5)+CHR$(6)+CHR$(7)+CHR$(8)+CHR$(9)
table=table+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)
table=table+CHR$(10)+CHR$(11)+CHR$(12)+CHR$(13)+CHR$(14)+CHR$(15)+CHR$(16)
END IF
pbByte = STRPTR( url )
pbUrl = STRPTR( url )
pbTable = STRPTR(table)
DO WHILE @pbByte <> 0
IF @pbByte = ASC("%") AND NOT @pbByte[1] = ASC("%") THEN
INCR pbByte
b1 = @pbTable[@pbByte-48]
SHIFT LEFT b1,4
INCR pbByte
@pbUrl= @pbTable[@pbByte-48]+b1
INCR pbByte
INCR pbUrl
ITERATE DO
END IF
@pbUrl = @pbByte
INCR pbByte
INCR pbUrl
LOOP
@pbUrl = 0
pszReturnStr = STRPTR( url )
FUNCTION = @pszReturnStr
END FUNCTION