]> git.plutz.net Git - cgilite/commitdiff
always include debug functions, conditional handler selection
authorpaul <paul@plutz.net>
Sat, 26 Nov 2016 16:16:15 +0000 (16:16 +0000)
committerpaul <paul@plutz.net>
Sat, 26 Nov 2016 16:16:15 +0000 (16:16 +0000)
svn path=/trunk/; revision=44

index.cgi

index 021c516c38849188473d88581406b3762d7d5be6..319b9be2a986d60a7abc78536716f289a9913604 100755 (executable)
--- a/index.cgi
+++ b/index.cgi
@@ -28,7 +28,10 @@ real="$(readlink -f $call)"
 export _DATA="$(dirname "$call")"  #storage directory
 export _EXEC="${real%/shcgi/index.cgi}"  #execution directory
 
 export _DATA="$(dirname "$call")"  #storage directory
 export _EXEC="${real%/shcgi/index.cgi}"  #execution directory
 
+# put debug options in the local.opts file
 . "$_EXEC/shcgi/misc.sh"
 . "$_EXEC/shcgi/misc.sh"
+. "$_EXEC/shcgi/debug.sh"
+[ -r "$_DATA/local.opts" ] && . "$_DATA/local.opts"
 
 if [ "$1" = '--server' -o  "$1" = '--inetd' -o "$1" = '--ncat' ]; then
   . "$_EXEC/shcgi/server.sh" $@
 
 if [ "$1" = '--server' -o  "$1" = '--inetd' -o "$1" = '--ncat' ]; then
   . "$_EXEC/shcgi/server.sh" $@
@@ -36,10 +39,6 @@ else
   HTTP_format(){ cat }
 fi
 
   HTTP_format(){ cat }
 fi
 
-# put debug options in the local.opts file
-. "$_EXEC/shcgi/debug.sh"
-[ -r "$_DATA/local.opts" ] && . "$_DATA/local.opts"
-
 . "$_EXEC/shcgi/cgi.sh"
 
 [ -x "$_EXEC/globals.sh" ] && . "$_EXEC/globals.sh"
 . "$_EXEC/shcgi/cgi.sh"
 
 [ -x "$_EXEC/globals.sh" ] && . "$_EXEC/globals.sh"
@@ -48,14 +47,14 @@ fi
 ACTION=$(validate "${ACTION:-${_GET[action]}}" '[a-zA-Z0-9_-]+' '')
 STATIC=$(invalidate "${STATIC:-${_GET[static]}}" '(^|.*/)\.\./.*' '')
 
 ACTION=$(validate "${ACTION:-${_GET[action]}}" '[a-zA-Z0-9_-]+' '')
 STATIC=$(invalidate "${STATIC:-${_GET[static]}}" '(^|.*/)\.\./.*' '')
 
-if [ -n "$STATIC" -a -e "${_EXEC}/static/${STATIC}" ]; then
+if [ -n "$STATIC" ] && [ -e "${_EXEC}/static/${STATIC}" ]; then
   . "$_EXEC/shcgi/static.sh" "$_EXEC/static/$STATIC"
   . "$_EXEC/shcgi/static.sh" "$_EXEC/static/$STATIC"
-elif [ -n "$ACTION" -a -x "${_EXEC}/actions/${ACTION}.sh" ]; then
+elif [ -n "$ACTION" ] && [ -x "${_EXEC}/actions/${ACTION}.sh" ]; then
   . "${_EXEC}/actions/${ACTION}.sh"
   . "${_EXEC}/actions/${ACTION}.sh"
-elif   [ -n "$PAGE"   -a -x "${_EXEC}/pages/${PAGE}.sh" ]; then
+elif   [ -n "$PAGE" ] && [ -x "${_EXEC}/pages/${PAGE}.sh" ]; then
   . "$_EXEC/shcgi/page.sh"
 else
   printf 'HTTP/1.1 404 Not Found\r\n'
   PAGE=error
   . "$_EXEC/shcgi/page.sh"
 else
   printf 'HTTP/1.1 404 Not Found\r\n'
   PAGE=error
-  . "$_EXEC/shcgi/page.sh"
+  [ -x "${_EXEC}/pages/${PAGE}.sh" ] && . "$_EXEC/shcgi/page.sh"
 fi |HTTP_format $@
 fi |HTTP_format $@