make.sh: generate macros for dirent fields
parent
29cc5af134
commit
e9d186ce99
33
make.sh
33
make.sh
|
|
@ -128,6 +128,36 @@ else
|
||||||
IOEVENT_USE=IOEVENT_USE_NONE
|
IOEVENT_USE=IOEVENT_USE_NONE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
check_dirent_field()
|
||||||
|
{
|
||||||
|
field_name=$1
|
||||||
|
upper_fname=$(echo $field_name | tr '[a-z]' '[A-Z]')
|
||||||
|
|
||||||
|
tmp_src_filename=fast_check_dirent.c
|
||||||
|
cat <<EOF > $tmp_src_filename
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
struct dirent dir;
|
||||||
|
dir.$field_name = 1;
|
||||||
|
printf("#define HAVE_DIRENT_$upper_fname %d\n", dir.$field_name);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
gcc -o a.out $tmp_src_filename 2>/dev/null && ./a.out
|
||||||
|
/bin/rm -f a.out $tmp_src_filename
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp_filename=fast_dirent_macros.txt
|
||||||
|
check_dirent_field d_namlen > $tmp_filename
|
||||||
|
check_dirent_field d_reclen >> $tmp_filename
|
||||||
|
check_dirent_field d_off >> $tmp_filename
|
||||||
|
check_dirent_field d_type >> $tmp_filename
|
||||||
|
|
||||||
cat <<EOF > src/_os_define.h
|
cat <<EOF > src/_os_define.h
|
||||||
#ifndef _OS_DEFINE_H
|
#ifndef _OS_DEFINE_H
|
||||||
#define _OS_DEFINE_H
|
#define _OS_DEFINE_H
|
||||||
|
|
@ -150,6 +180,9 @@ cat <<EOF > src/_os_define.h
|
||||||
#ifndef HAVE_USER_H
|
#ifndef HAVE_USER_H
|
||||||
#define HAVE_USER_H $HAVE_USER_H
|
#define HAVE_USER_H $HAVE_USER_H
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
$(cat $tmp_filename && /bin/rm -f $tmp_filename)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -461,7 +461,7 @@ int tcpreadv_nb_ms(int sock, const int size, const struct iovec *iov,
|
||||||
{
|
{
|
||||||
TCP_SET_QUICK_ACK(sock);
|
TCP_SET_QUICK_ACK(sock);
|
||||||
left_bytes -= read_bytes;
|
left_bytes -= read_bytes;
|
||||||
if (left_bytes == 0)
|
if (left_bytes <= 0)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue