Am 14.10.2012 21:14, schrieb Guy Harris:
>
> On Oct 14, 2012, at 10:50 AM, Martin Kaiser <lists@xxxxxxxxx> wrote:
>
>> as part of #7729, we have to parse a text string that contains an IPv6
>> address and convert it into a sequence of bytes - and detect malformed
>> addresses.
>>
>> The current proposal does the parsing manually. I was wondering if we
>> could simplify things by using getaddrinfo().
>
> You could probably simplify things even more by using inet_pton() (as Alexander Koeppe noted in the bug) rather than getaddrinfo().
>
> We're already using inet_pton() (and supply our own version for platforms where it's unavailable), so we can use it elsewhere.
> ___________________________________________________________________________
> Sent via: Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
> Archives: http://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
> mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
>
My first version with inet_pton() works quite well. Just considering to
properly include the necessary headers.
>From what I can see I have to include ...
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h> /* needed to define AF_ values on UNIX */
#endif
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h> /* needed to define AF_ values on Windows */
#endif
And additionally for non *NIX ....
#ifdef NEED_INET_V6DEFS_H
#include "wsutil/inet_v6defs.h" /* if not a *NIX system */
#endif
Would that be correct?
Cheers
Alex