bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sys_socket: use POSIX compatible prototypes


From: Paolo Bonzini
Subject: Re: sys_socket: use POSIX compatible prototypes
Date: Mon, 8 Mar 2010 08:57:09 +0100

On Sun, Mar 7, 2010 at 19:55, Bruno Haible <address@hidden> wrote:
> Hi,
>
> When testing the gnulib provided replacements against the POSIX specified
> declarations, some socket functions show errors, due to different prototypes:
>
> ../gllib/sys/socket.h:408:[connect] error: invalid conversion from 'int 
> (*)(int, const sockaddr*, socklen_t)' to 'int (*)(int, sockaddr*, int)'
> ../gllib/sys/socket.h:431:[accept] error: invalid conversion from 'int 
> (*)(int, sockaddr*, socklen_t*)' to 'int (*)(int, sockaddr*, int*)'
> ../gllib/sys/socket.h:455:[bind] error: invalid conversion from 'int (*)(int, 
> const sockaddr*, socklen_t)throw ()' to 'int (*)(int, sockaddr*, int)'
> ../gllib/sys/socket.h:481:[getpeername] error: invalid conversion from 'int 
> (*)(int, sockaddr*, socklen_t*)throw ()' to 'int (*)(int, sockaddr*, int*)'
> ../gllib/sys/socket.h:508:[getsockname] error: invalid conversion from 'int 
> (*)(int, sockaddr*, socklen_t*)throw ()' to 'int (*)(int, sockaddr*, int*)'
> ../gllib/sys/socket.h:583:[recv] error: invalid conversion from 'ssize_t 
> (*)(int, void*, size_t, int)' to 'int (*)(int, void*, int, int)'
> ../gllib/sys/socket.h:607:[send] error: invalid conversion from 'ssize_t 
> (*)(int, const void*, size_t, int)' to 'int (*)(int, const void*, int, int)'
> ../gllib/sys/socket.h:633:[recvfrom] error: invalid conversion from 'ssize_t 
> (*)(int, void*, size_t, int, sockaddr*, socklen_t*)' to 'int (*)(int, void*, 
> int, int, sockaddr*, int*)'
> ../gllib/sys/socket.h:660:[sendto] error: invalid conversion from 'ssize_t 
> (*)(int, const void*, size_t, int, const sockaddr*, socklen_t)' to 'int 
> (*)(int, const void*, int, int, sockaddr*, int)'
>
> C++ programs will expect the POSIX prototype, even on mingw. On mingw,
> the types are effectively the same (ssize_t = int, socklen_t = int), therefore
> this should not introduce bugs (possibly some warnings, that can be ignored).

Good!

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]