support des scripts cgi

This commit is contained in:
Jephté Clain 2013-11-14 15:20:12 +04:00
parent 82be8c9387
commit bc3185fad5
2 changed files with 27 additions and 4 deletions

View File

@ -1 +1 @@
6
7

View File

@ -8,9 +8,9 @@ if [ "$0" == "-bash" ]; then
scriptdir=
script=
else
scriptname=`basename -- "$0"`
scriptdir=`dirname -- "$0"`
scriptdir=`cd "$scriptdir"; pwd`
scriptname="$(basename -- "$0")"
scriptdir="$(dirname -- "$0")"
scriptdir="$(cd "$scriptdir"; pwd)"
script="$scriptdir/$scriptname"
fi
: "${ULIBDIR:=$scriptdir}"
@ -3924,6 +3924,29 @@ if [ -n "$UTOOLS_CHROOT" ]; then
[ -n "$UTOOLS_UNAME_MACHINE" ] && eval "UNAME_MACHINE=$UTOOLS_UNAME_MACHINE"
fi
################################################################################
## Support de CGI
# Si on est lancé comme script cgi par un lien, il faut résoudre l'emplacement
# réel du script. Si on a besoin des fichiers du répertoire CGI, il est toujours
# possible d'utiliser cgiscriptdir
if [ -n "$GATEWAY_INTERFACE" -a -L "$script" ]; then
# garder une copie de la valeur originale de scriptdir
cgiscriptdir="$scriptdir"
if [ "$UNAME_SYSTEM" == Linux ]; then
script="$(readlink -f -- "$script")"
else
# Sur un système autre que linux, readlink -f n'existe sans doute pas.
# Essayer de l'émuler: si le lien est relatif, l'exprimer par rapport à
# $scriptdir. Ne prendre qu'un seul niveau de lien symbolique.
script="$(readlink -- "$script")"
[ "${script#/}" != "$script" ] || script="$scriptdir/$script"
fi
scriptname="$(basename -- "$script")"
scriptdir="$(dirname -- "$script")"
scriptdir="$(cd "$scriptdir"; pwd)"
fi
################################################################################
## support de ulib dans le cas où cette librairie n'est pas encore chargée