aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES4
-rw-r--r--acinclude.m441
-rw-r--r--ares/CHANGES4
-rw-r--r--ares/Makefile.dj8
-rw-r--r--ares/Makefile.netware12
-rw-r--r--ares/acinclude.m441
-rw-r--r--ares/config-win32.h14
-rw-r--r--ares/setup_once.h12
-rw-r--r--lib/Makefile.netware12
-rw-r--r--lib/config-amigaos.h6
-rw-r--r--lib/config-mac.h6
-rw-r--r--lib/config-os400.h12
-rw-r--r--lib/config-riscos.h12
-rw-r--r--lib/config-symbian.h6
-rw-r--r--lib/config-tpf.h12
-rw-r--r--lib/config-win32.h12
-rw-r--r--lib/config-win32ce.h12
-rw-r--r--lib/config.dos6
-rw-r--r--lib/setup_once.h12
-rw-r--r--packages/vms/config-vms.h12
-rw-r--r--src/Makefile.netware12
-rw-r--r--src/config-win32.h12
22 files changed, 173 insertions, 107 deletions
diff --git a/CHANGES b/CHANGES
index 29ba012a7..9ba412821 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
Changelog
+Yang Tse (17 Jul 2008)
+- RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and RECVFROM_TYPE_ARG6 are now defined
+ to the data type pointed by its respective argument and not the pointer type.
+
Yang Tse (16 Jul 2008)
- Configure process now checks availability of recvfrom() socket function and
finds out its return type and the types of its arguments. Added definitions
diff --git a/acinclude.m4 b/acinclude.m4
index 21399c7f6..e1c16bbfd 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1591,6 +1591,8 @@ dnl will be defined, defining the types of the arguments
dnl in RECVFROM_TYPE_ARG1, RECVFROM_TYPE_ARG2, and so on
dnl to RECVFROM_TYPE_ARG6, defining also the type of the
dnl function return value in RECVFROM_TYPE_RETV.
+dnl Notice that the types returned for pointer arguments
+dnl will actually be the type pointed by the pointer.
AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
@@ -1703,21 +1705,48 @@ AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
IFS=$recvfrom_prev_IFS
shift
#
+ recvfrom_ptrt_arg2=$[2]
+ recvfrom_ptrt_arg5=$[5]
+ recvfrom_ptrt_arg6=$[6]
+ #
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG1, $[1],
[Define to the type of arg 1 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $[2],
- [Define to the type of arg 2 for recvfrom.])
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG3, $[3],
[Define to the type of arg 3 for recvfrom.])
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG4, $[4],
[Define to the type of arg 4 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $[5],
- [Define to the type of arg 5 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $[6],
- [Define to the type of arg 6 for recvfrom.])
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_RETV, $[7],
[Define to the function return type for recvfrom.])
#
+ prev_sh_opts=$-
+ #
+ case $prev_sh_opts in
+ *f*)
+ ;;
+ *)
+ set -f
+ ;;
+ esac
+ #
+ recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
+ recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
+ recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
+ #
+ AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $recvfrom_type_arg2,
+ [Define to the type pointed by arg 2 for recvfrom.])
+ AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $recvfrom_type_arg5,
+ [Define to the type pointed by arg 5 for recvfrom.])
+ AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $recvfrom_type_arg6,
+ [Define to the type pointed by arg 6 for recvfrom.])
+ #
+ case $prev_sh_opts in
+ *f*)
+ ;;
+ *)
+ set +f
+ ;;
+ esac
+ #
AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
[Define to 1 if you have the recvfrom function.])
ac_cv_func_recvfrom="yes"
diff --git a/ares/CHANGES b/ares/CHANGES
index 00673574f..88662236a 100644
--- a/ares/CHANGES
+++ b/ares/CHANGES
@@ -1,5 +1,9 @@
Changelog for the c-ares project
+* Jul 17 2008 (Yang Tse)
+- RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and RECVFROM_TYPE_ARG6 are now defined
+ to the data type pointed by its respective argument and not the pointer type.
+
* Jul 16 2008 (Yang Tse)
- Improved configure detection of number of arguments for getservbyport_r.
Detection is now based on compilation checks instead of linker ones.
diff --git a/ares/Makefile.dj b/ares/Makefile.dj
index 0539e4b6e..51439284b 100644
--- a/ares/Makefile.dj
+++ b/ares/Makefile.dj
@@ -24,10 +24,10 @@ CFLAGS += -DWATT32 -DHAVE_AF_INET6 -DHAVE_PF_INET6 -DHAVE_IOCTLSOCKET \
-DRECV_TYPE_ARG3='int' -DRECV_TYPE_ARG4='int' \
-DRECV_TYPE_RETV='int' -DHAVE_STRUCT_TIMEVAL \
-Dselect=select_s -Dsocklen_t=int -UHAVE_CONFIG_H \
- -DRECVFROM_TYPE_ARG1='int' -DRECVFROM_TYPE_ARG2='void*' \
- -DRECVFROM_TYPE_ARG3='int' -DRECVFROM_TYPE_ARG4='int' \
- -DRECVFROM_TYPE_ARG6='int*' -DRECVFROM_TYPE_RETV='int' \
- -DRECVFROM_TYPE_ARG5='struct sockaddr*' -DHAVE_RECVFROM
+ -DRECVFROM_TYPE_ARG1='int' -DRECVFROM_TYPE_ARG2='void' \
+ -DRECVFROM_TYPE_ARG3='int' -DRECVFROM_TYPE_ARG4='int' \
+ -DRECVFROM_TYPE_ARG6='int' -DRECVFROM_TYPE_RETV='int' \
+ -DRECVFROM_TYPE_ARG5='struct sockaddr' -DHAVE_RECVFROM
LDFLAGS = -s
diff --git a/ares/Makefile.netware b/ares/Makefile.netware
index 874e59d1c..e8a8a26c5 100644
--- a/ares/Makefile.netware
+++ b/ares/Makefile.netware
@@ -289,11 +289,11 @@ ifeq ($(LIBARCH),CLIB)
@echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
@echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 char *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr *$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@
@echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
@echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
@@ -332,11 +332,11 @@ else
@echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
@echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 void *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr *$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@
@echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
@echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
diff --git a/ares/acinclude.m4 b/ares/acinclude.m4
index 95ab7a3d8..cb6c51afe 100644
--- a/ares/acinclude.m4
+++ b/ares/acinclude.m4
@@ -1058,6 +1058,8 @@ dnl will be defined, defining the types of the arguments
dnl in RECVFROM_TYPE_ARG1, RECVFROM_TYPE_ARG2, and so on
dnl to RECVFROM_TYPE_ARG6, defining also the type of the
dnl function return value in RECVFROM_TYPE_RETV.
+dnl Notice that the types returned for pointer arguments
+dnl will actually be the type pointed by the pointer.
AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
@@ -1170,21 +1172,48 @@ AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
IFS=$recvfrom_prev_IFS
shift
#
+ recvfrom_ptrt_arg2=$[2]
+ recvfrom_ptrt_arg5=$[5]
+ recvfrom_ptrt_arg6=$[6]
+ #
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG1, $[1],
[Define to the type of arg 1 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $[2],
- [Define to the type of arg 2 for recvfrom.])
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG3, $[3],
[Define to the type of arg 3 for recvfrom.])
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG4, $[4],
[Define to the type of arg 4 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $[5],
- [Define to the type of arg 5 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $[6],
- [Define to the type of arg 6 for recvfrom.])
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_RETV, $[7],
[Define to the function return type for recvfrom.])
#
+ prev_sh_opts=$-
+ #
+ case $prev_sh_opts in
+ *f*)
+ ;;
+ *)
+ set -f
+ ;;
+ esac
+ #
+ recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
+ recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
+ recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
+ #
+ AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $recvfrom_type_arg2,
+ [Define to the type pointed by arg 2 for recvfrom.])
+ AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $recvfrom_type_arg5,
+ [Define to the type pointed by arg 5 for recvfrom.])
+ AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $recvfrom_type_arg6,
+ [Define to the type pointed by arg 6 for recvfrom.])
+ #
+ case $prev_sh_opts in
+ *f*)
+ ;;
+ *)
+ set +f
+ ;;
+ esac
+ #
AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
[Define to 1 if you have the recvfrom function.])
ac_cv_func_recvfrom="yes"
diff --git a/ares/config-win32.h b/ares/config-win32.h
index 8e621a474..eb8fed72c 100644
--- a/ares/config-win32.h
+++ b/ares/config-win32.h
@@ -3,7 +3,7 @@
/* $Id$ */
-/* Copyright (C) 2004 - 2006 by Daniel Stenberg et al
+/* Copyright (C) 2004 - 2008 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
@@ -103,8 +103,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 SOCKET
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 char
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
@@ -112,11 +112,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
diff --git a/ares/setup_once.h b/ares/setup_once.h
index 85a291a81..d3159904f 100644
--- a/ares/setup_once.h
+++ b/ares/setup_once.h
@@ -206,12 +206,12 @@ struct timeval {
Error Missing_definition_of_return_and_arguments_types_of_recvfrom
/* */
#else
-#define sreadfrom(s,b,bl,f,fl) (ssize_t)recvfrom((RECVFROM_TYPE_ARG1)(s), \
- (RECVFROM_TYPE_ARG2)(b), \
- (RECVFROM_TYPE_ARG3)(bl), \
- (RECVFROM_TYPE_ARG4)(0), \
- (RECVFROM_TYPE_ARG5)(f), \
- (RECVFROM_TYPE_ARG6)(fl))
+#define sreadfrom(s,b,bl,f,fl) (ssize_t)recvfrom((RECVFROM_TYPE_ARG1) (s), \
+ (RECVFROM_TYPE_ARG2 *)(b), \
+ (RECVFROM_TYPE_ARG3) (bl), \
+ (RECVFROM_TYPE_ARG4) (0), \
+ (RECVFROM_TYPE_ARG5 *)(f), \
+ (RECVFROM_TYPE_ARG6 *)(fl))
#endif
#else /* HAVE_RECVFROM */
#ifndef sreadfrom
diff --git a/lib/Makefile.netware b/lib/Makefile.netware
index 9d71b6d8e..6e0aac995 100644
--- a/lib/Makefile.netware
+++ b/lib/Makefile.netware
@@ -383,11 +383,11 @@ ifeq ($(LIBARCH),CLIB)
@echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
@echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 char *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr *$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@
@echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
@echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
@@ -422,11 +422,11 @@ else
@echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
@echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 void *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr *$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@
@echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
@echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
diff --git a/lib/config-amigaos.h b/lib/config-amigaos.h
index 553a910aa..fe77a2dc4 100644
--- a/lib/config-amigaos.h
+++ b/lib/config-amigaos.h
@@ -133,11 +133,11 @@
#define HAVE_RECVFROM 1
#define RECVFROM_TYPE_ARG1 long
-#define RECVFROM_TYPE_ARG2 char *
+#define RECVFROM_TYPE_ARG2 char
#define RECVFROM_TYPE_ARG3 long
#define RECVFROM_TYPE_ARG4 long
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
-#define RECVFROM_TYPE_ARG6 long *
+#define RECVFROM_TYPE_ARG5 struct sockaddr
+#define RECVFROM_TYPE_ARG6 long
#define RECVFROM_TYPE_RETV long
#define HAVE_SEND 1
diff --git a/lib/config-mac.h b/lib/config-mac.h
index 9769f9dfe..d5c143c4f 100644
--- a/lib/config-mac.h
+++ b/lib/config-mac.h
@@ -65,11 +65,11 @@
#define HAVE_RECVFROM 1
#define RECVFROM_TYPE_ARG1 int
-#define RECVFROM_TYPE_ARG2 void *
+#define RECVFROM_TYPE_ARG2 void
#define RECVFROM_TYPE_ARG3 size_t
#define RECVFROM_TYPE_ARG4 int
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
-#define RECVFROM_TYPE_ARG6 int *
+#define RECVFROM_TYPE_ARG5 struct sockaddr
+#define RECVFROM_TYPE_ARG6 int
#define RECVFROM_TYPE_RETV ssize_t
#define HAVE_SEND 1
diff --git a/lib/config-os400.h b/lib/config-os400.h
index 20785665c..f5ca8a2d7 100644
--- a/lib/config-os400.h
+++ b/lib/config-os400.h
@@ -462,8 +462,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 char
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
@@ -471,11 +471,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
diff --git a/lib/config-riscos.h b/lib/config-riscos.h
index 722e8734f..7140e9c24 100644
--- a/lib/config-riscos.h
+++ b/lib/config-riscos.h
@@ -436,8 +436,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 void *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 void
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 size_t
@@ -445,11 +445,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV ssize_t
diff --git a/lib/config-symbian.h b/lib/config-symbian.h
index 2297b9f73..b7467dbd9 100644
--- a/lib/config-symbian.h
+++ b/lib/config-symbian.h
@@ -684,11 +684,11 @@
#define RECV_TYPE_RETV ssize_t
#define RECVFROM_TYPE_ARG1 int
-#define RECVFROM_TYPE_ARG2 void*
+#define RECVFROM_TYPE_ARG2 void
#define RECVFROM_TYPE_ARG3 size_t
#define RECVFROM_TYPE_ARG4 int
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
-#define RECVFROM_TYPE_ARG6 size_t *
+#define RECVFROM_TYPE_ARG5 struct sockaddr
+#define RECVFROM_TYPE_ARG6 size_t
#define RECVFROM_TYPE_RETV ssize_t
#define SEND_TYPE_ARG1 int
diff --git a/lib/config-tpf.h b/lib/config-tpf.h
index 1d114b9ce..dbeabf6b1 100644
--- a/lib/config-tpf.h
+++ b/lib/config-tpf.h
@@ -708,8 +708,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 char
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
@@ -717,11 +717,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
diff --git a/lib/config-win32.h b/lib/config-win32.h
index d51047526..6526f5497 100644
--- a/lib/config-win32.h
+++ b/lib/config-win32.h
@@ -254,8 +254,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 SOCKET
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 char
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
@@ -263,11 +263,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
diff --git a/lib/config-win32ce.h b/lib/config-win32ce.h
index c9b9bea38..347b78cbe 100644
--- a/lib/config-win32ce.h
+++ b/lib/config-win32ce.h
@@ -240,8 +240,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 SOCKET
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 char
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
@@ -249,11 +249,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
diff --git a/lib/config.dos b/lib/config.dos
index 7d317b846..9669bdb21 100644
--- a/lib/config.dos
+++ b/lib/config.dos
@@ -80,11 +80,11 @@
#define RECV_TYPE_RETV int
#define RECVFROM_TYPE_ARG1 int
-#define RECVFROM_TYPE_ARG2 void *
+#define RECVFROM_TYPE_ARG2 void
#define RECVFROM_TYPE_ARG3 int
#define RECVFROM_TYPE_ARG4 int
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
-#define RECVFROM_TYPE_ARG6 int *
+#define RECVFROM_TYPE_ARG5 struct sockaddr
+#define RECVFROM_TYPE_ARG6 int
#define RECVFROM_TYPE_RETV int
#define BSD
diff --git a/lib/setup_once.h b/lib/setup_once.h
index 77b253588..0e2d8bc12 100644
--- a/lib/setup_once.h
+++ b/lib/setup_once.h
@@ -213,12 +213,12 @@ struct timeval {
Error Missing_definition_of_return_and_arguments_types_of_recvfrom
/* */
#else
-#define sreadfrom(s,b,bl,f,fl) (ssize_t)recvfrom((RECVFROM_TYPE_ARG1)(s), \
- (RECVFROM_TYPE_ARG2)(b), \
- (RECVFROM_TYPE_ARG3)(bl), \
- (RECVFROM_TYPE_ARG4)(0), \
- (RECVFROM_TYPE_ARG5)(f), \
- (RECVFROM_TYPE_ARG6)(fl))
+#define sreadfrom(s,b,bl,f,fl) (ssize_t)recvfrom((RECVFROM_TYPE_ARG1) (s), \
+ (RECVFROM_TYPE_ARG2 *)(b), \
+ (RECVFROM_TYPE_ARG3) (bl), \
+ (RECVFROM_TYPE_ARG4) (0), \
+ (RECVFROM_TYPE_ARG5 *)(f), \
+ (RECVFROM_TYPE_ARG6 *)(fl))
#endif
#else /* HAVE_RECVFROM */
#ifndef sreadfrom
diff --git a/packages/vms/config-vms.h b/packages/vms/config-vms.h
index 19c72ac64..aacd3b0c3 100644
--- a/packages/vms/config-vms.h
+++ b/packages/vms/config-vms.h
@@ -321,8 +321,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 int
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 void *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 void
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
@@ -330,11 +330,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int
diff --git a/src/Makefile.netware b/src/Makefile.netware
index 11e596ef1..1cc08392a 100644
--- a/src/Makefile.netware
+++ b/src/Makefile.netware
@@ -370,11 +370,11 @@ ifeq ($(LIBARCH),CLIB)
@echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
@echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 char *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr *$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@
@echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
@echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
@@ -405,11 +405,11 @@ else
@echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
@echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 void *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr *$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int *$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
+ @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
@echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@
@echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
@echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
diff --git a/src/config-win32.h b/src/config-win32.h
index 33f0d9cbf..306f42ee2 100644
--- a/src/config-win32.h
+++ b/src/config-win32.h
@@ -116,8 +116,8 @@
/* Define to the type of arg 1 for recvfrom. */
#define RECVFROM_TYPE_ARG1 SOCKET
-/* Define to the type of arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char *
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 char
/* Define to the type of arg 3 for recvfrom. */
#define RECVFROM_TYPE_ARG3 int
@@ -125,11 +125,11 @@
/* Define to the type of arg 4 for recvfrom. */
#define RECVFROM_TYPE_ARG4 int
-/* Define to the type of arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr *
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
-/* Define to the type of arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int *
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
/* Define to the function return type for recvfrom. */
#define RECVFROM_TYPE_RETV int