view auto/fmt/ptrfmt @ 100:d6800bbe720e NGINX_0_2_4

nginx 0.2.4 *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions in the "if" command. *) Bugfix: in proxying location without trailing slash; bug appeared in 0.1.44. *) Bugfix: the segmentation fault may occurred if the "rtsig" method was used; bug appeared in 0.2.0.
author Igor Sysoev <http://sysoev.ru>
date Mon, 03 Oct 2005 00:00:00 +0400
parents 4b2dafa26fe2
children
line wrap: on
line source


# Copyright (C) Igor Sysoev


echo $ngx_n "checking for $ngx_type printf() format ...$ngx_c"

cat << END >> $NGX_AUTOCONF_ERR

----------------------------------------
checking for $ngx_type printf() format

END


ngx_format=no
ngx_comma=
ngx_fmt_x=

for ngx_fmt in $ngx_formats
do

    cat << END > $NGX_AUTOTEST.c

int main() {
    printf("$ngx_fmt", ($ngx_type) $ngx_max_value);
    return 0;
}

END

    ngx_test="$CC $CC_TEST_FLAGS $CC_WARN $CC_AUX_FLAGS \
              -o $NGX_AUTOTEST $NGX_AUTOTEST.c"
    eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"

    ngx_max_val=`echo $ngx_max_value | sed -e "s/L*\$//"`

    if [ -x $NGX_AUTOTEST ]; then
        if [ "`$NGX_AUTOTEST`" = $ngx_max_val ]; then
            ngx_format=$ngx_fmt
        fi
    fi

    rm $NGX_AUTOTEST

    if [ $ngx_format != no ]; then
        break
    fi

    ngx_fmt_x=`echo $ngx_fmt | sed -e "s/d/X/"`

    echo $ngx_n "$ngx_comma \"${ngx_fmt_x}\" is not appropriate$ngx_c"
    ngx_comma=","

    echo "----------"    >> $NGX_AUTOCONF_ERR
    cat $NGX_AUTOTEST.c  >> $NGX_AUTOCONF_ERR
    echo "----------"    >> $NGX_AUTOCONF_ERR
    echo $ngx_test       >> $NGX_AUTOCONF_ERR
    echo "----------"    >> $NGX_AUTOCONF_ERR
done


if [ $ngx_format = no ]; then
    echo "$0: error: printf() $ngx_type format not found"

    exit 1
fi


if [ $ngx_ptr_size = 4 ]; then
    ngx_fmt_x="%0`expr 2 \* $ngx_ptr_size`"
else
    ngx_fmt_x="%"
fi

ngx_format=`echo $ngx_format | sed -e "s/d/X/" -e "s/^%/$ngx_fmt_x/"`

echo "$ngx_comma \"${ngx_format}\" used"


cat << END >> $NGX_AUTO_CONFIG_H

#ifndef $ngx_fmt_name
#define $ngx_fmt_name  "$ngx_format"
#endif

END