]> git.plutz.net Git - cgilite/blobdiff - cgilite.sh
corrected paragraph splitting and hr/h2 distinction
[cgilite] / cgilite.sh
index 03541b41829355d69287596ed40041dccf8545e1..6cbd7ec27eca272bff82a98bcf08fb2b24d55a46 100755 (executable)
@@ -89,7 +89,8 @@ HEX_DECODE(){
       "$pfx"[0-9a-fA-F][0-9a-fA-F]*) in="${in#${pfx}}";;
       \\*) in="${in#?}"; out="${out}\\\\"; continue;;
        %*) in="${in#?}"; out="${out}%%";  continue;;
-        *) out="${out}${in%"${in#?}"}"; in="${in#?}"; continue;;
+        *) att="${in%%"${pfx}"*}"; att="${att%%%*}"; att="${att%%\\*}"
+           out="${out}${att}"; in="${in#"${att}"}"; continue;;
     esac;
 
     # Hex escapes for printf (e.g. \x41) are not portable 
@@ -313,7 +314,7 @@ URL(){
     "${CR}"*) out="${out}%0D"; str="${str#?}";;
     "${BR}"*) out="${out}%0A"; str="${str#?}";;
     %*) out="${out}%25"; str="${str#?}";;
-    *) out="${out}${str%%[]&\"\'#      ${CR}${BR}[]*}"; str="${str#"${str%%[]&\"\'#    ${CR}${BR}[]*}"}";;
+    *) out="${out}${str%%[]&\"\'\?#    ${CR}${BR}%[]*}"; str="${str#"${str%%[]&\"\'\?#         ${CR}${BR}%[]*}"}";;
   esac; done
   printf %s "$out"
 }