|  |  | 
|  | # 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 |