summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2006-07-04 16:54:10 +0000
committerYang Tse <yangsita@gmail.com>2006-07-04 16:54:10 +0000
commit7e43d06b602f5158b7240b03efad7f7066d0650d (patch)
tree17402872348e6e19956adcd21e79d50f74cd122f /acinclude.m4
parent89f54f373979d182dfec4ddb7c9adbccbca9f2f1 (diff)
downloadcurl-7e43d06b602f5158b7240b03efad7f7066d0650d.tar.gz
Get qualifier of arg 2 for send() apart into SEND_QUAL_ARG2.
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m448
1 files changed, 41 insertions, 7 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index c36f99431..0b13bccb2 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -593,7 +593,7 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [
curl_cv_func_recv_args="unknown"
for recv_retv in 'int' 'ssize_t'; do
for recv_arg1 in 'int' 'ssize_t'; do
- for recv_arg2 in 'void *' 'char *'; do
+ for recv_arg2 in 'char *' 'void *'; do
for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
for recv_arg4 in 'int' 'unsigned int'; do
AC_COMPILE_IFELSE([
@@ -659,7 +659,8 @@ dnl arguments. If the function succeeds HAVE_SEND
dnl will be defined, defining the types of the arguments
dnl in SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3
dnl and SEND_TYPE_ARG4, defining the type of the function
-dnl return value in SEND_TYPE_RETV.
+dnl return value in SEND_TYPE_RETV, and also defining the
+dnl type qualifier of second argument in SEND_QUAL_ARG2.
AC_DEFUN([CURL_CHECK_FUNC_SEND], [
AC_CHECK_HEADERS(sys/types.h sys/socket.h)
@@ -689,7 +690,7 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
curl_cv_func_send_args="unknown"
for send_retv in 'int' 'ssize_t'; do
for send_arg1 in 'int' 'ssize_t'; do
- for send_arg2 in 'void *' 'char *'; do
+ for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do
for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
for send_arg4 in 'int' 'unsigned int'; do
AC_COMPILE_IFELSE([
@@ -704,10 +705,9 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
extern $send_retv send($send_arg1, $send_arg2, $send_arg3, $send_arg4);
],[
$send_arg1 s=0;
- $send_arg2 buf=0;
$send_arg3 len=0;
$send_arg4 flags=0;
- $send_retv res = send(s, buf, len, flags);
+ $send_retv res = send(s, 0, len, flags);
])
],[
curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv"
@@ -728,10 +728,10 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
IFS=$send_prev_IFS
shift
#
+ send_qual_type_arg2=$[2]
+ #
AC_DEFINE_UNQUOTED(SEND_TYPE_ARG1, $[1],
[Define to the type of arg 1 for send.])
- AC_DEFINE_UNQUOTED(SEND_TYPE_ARG2, $[2],
- [Define to the type of arg 2 for send.])
AC_DEFINE_UNQUOTED(SEND_TYPE_ARG3, $[3],
[Define to the type of arg 3 for send.])
AC_DEFINE_UNQUOTED(SEND_TYPE_ARG4, $[4],
@@ -739,6 +739,40 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
AC_DEFINE_UNQUOTED(SEND_TYPE_RETV, $[5],
[Define to the function return type for send.])
#
+ gni_opts=$-
+ #
+ case $gni_opts in
+ *f*)
+ ;;
+ *)
+ set -f
+ ;;
+ esac
+ #
+ case "$send_qual_type_arg2" in
+ const*)
+ send_qual_arg2=const
+ send_type_arg2=`echo $send_qual_type_arg2 | sed 's/^const //'`
+ ;;
+ *)
+ send_qual_arg2=
+ send_type_arg2=$send_qual_type_arg2
+ ;;
+ esac
+ #
+ AC_DEFINE_UNQUOTED(SEND_QUAL_ARG2, $send_qual_arg2,
+ [Define to the type qualifier of arg 2 for send.])
+ AC_DEFINE_UNQUOTED(SEND_TYPE_ARG2, $send_type_arg2,
+ [Define to the type of arg 2 for send.])
+ #
+ case $gni_opts in
+ *f*)
+ ;;
+ *)
+ set +f
+ ;;
+ esac
+ #
AC_DEFINE_UNQUOTED(HAVE_SEND, 1,
[Define to 1 if you have the send function.])
ac_cv_func_send="yes"