bugfix: do not expect query strings to start with "?"
authorpaul <paul@plutz.net>
Wed, 8 Nov 2017 15:55:43 +0000 (15:55 +0000)
committerpaul <paul@plutz.net>
Wed, 8 Nov 2017 15:55:43 +0000 (15:55 +0000)
svn path=/trunk/; revision=57

cgilite.sh

index 0edb5bc..e263424 100755 (executable)
@@ -28,22 +28,22 @@ fi
 
 cgilite_count(){
   case $1 in
-    GET)  printf %s "${QUERY_STRING}";;
-    POST) printf %s "?${cgilite_post}";;
-    REF)  printf %s "?${HTTP_REFERER#*\?}";;
+    GET)  printf %s "&${QUERY_STRING}";;
+    POST) printf %s "&${cgilite_post}";;
+    REF)  printf %s "&${HTTP_REFERER#*\?}";;
   esac \
-  | grep -Eo '[&?]'"$2"'=[^&]*' \
+  | grep -Eo '&'"$2"'=[^&]*' \
   | wc -l
 }
 
 cgilite_value(){
   printf "$(
     case $1 in
-      GET)  printf %s "${QUERY_STRING}";;
-      POST) printf %s "?${cgilite_post}";;
-      REF)  printf %s "?${HTTP_REFERER#*\?}";;
+      GET)  printf %s "&${QUERY_STRING}";;
+      POST) printf %s "&${cgilite_post}";;
+      REF)  printf %s "&${HTTP_REFERER#*\?}";;
     esac \
-    | grep -Eo '[&?]'"$2"'=[^&]*' \
+    | grep -Eo '&'"$2"'=[^&]*' \
     | sed -rn "${3:-1}"'{s;^[^=]+=;;; s;\+; ;g; s;\\;\\\\;g; s;%;\\x;g; p}'
   )"
 }