Welcome to mirror list, hosted at ThFree Co, Russian Federation.

sizeof « types « auto - github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ac22e759db79ef8b7445e18ed6a7f97cbfa48f71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

# Copyright (C) Igor Sysoev


echo $ngx_n "checking for $ngx_type size ..." $ngx_c
echo >> $NGX_ERR
echo "checking for $ngx_type size" >> $NGX_ERR

ngx_size=

cat << END > $NGX_AUTOTEST.c

#include <sys/types.h>
#include <sys/time.h>
$NGX_UNISTD_H
#include <signal.h>
#include <sys/resource.h>
$NGX_INTTYPES_H
$NGX_AUTO_CONFIG

int main() {
    printf("%d", sizeof($ngx_type));
    return 0;
}

END

eval "$CC $CC_TEST_FLAGS -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"

if [ -x $NGX_AUTOTEST ]; then
    ngx_size=`$NGX_AUTOTEST`
    echo " $ngx_size bytes"
fi

rm $NGX_AUTOTEST*

case $ngx_size in
    4)
        if [ "$ngx_type"="long" ]; then
            ngx_max_value=2147483647L
        else
            ngx_max_value=2147483647
        fi

        ngx_max_len='sizeof("-2147483648") - 1'
    ;;

    8)
        if [ "$ngx_type"="long long" ]; then
            ngx_max_value=9223372036854775807LL
        else
            ngx_max_value=9223372036854775807L
        fi

        ngx_max_len='sizeof("-9223372036854775808") - 1'
    ;;

    *)
        echo
        echo "$0: error: can not detect $ngx_type size"
        exit 1
esac