diff options
-rw-r--r-- | src/include/ChangeLog | 5 | ||||
-rw-r--r-- | src/include/port-sockets.h | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/include/ChangeLog b/src/include/ChangeLog index 15b7497071..e3b83e8252 100644 --- a/src/include/ChangeLog +++ b/src/include/ChangeLog @@ -1,3 +1,8 @@ +2003-05-02 Ken Raeburn <raeburn@mit.edu> + + * port-sockets.h (inet_ntop) [!_WIN32 && !HAVE_MACSOCK_H]: Define + as a macro if not provided by the OS. + 2003-04-28 Ken Raeburn <raeburn@mit.edu> * k5-int.h (struct _krb5_context): Change os_context to be an diff --git a/src/include/port-sockets.h b/src/include/port-sockets.h index 34489669b9..eb87bc1c90 100644 --- a/src/include/port-sockets.h +++ b/src/include/port-sockets.h @@ -153,6 +153,21 @@ typedef struct iovec sg_buf; #define SHUTDOWN_WRITE 1 #define SHUTDOWN_BOTH 2 +#ifndef HAVE_INET_NTOP +#define inet_ntop(AF,SRC,DST,CNT) \ + ((AF) == AF_INET \ + ? ((CNT) < 16 \ + ? (SOCKET_SET_ERRNO(ENOSPC), NULL) \ + : (sprintf((DST), "%d.%d.%d.%d", \ + ((const unsigned char *)(const void *)(SRC))[0] & 0xff, \ + ((const unsigned char *)(const void *)(SRC))[1] & 0xff, \ + ((const unsigned char *)(const void *)(SRC))[2] & 0xff, \ + ((const unsigned char *)(const void *)(SRC))[3] & 0xff), \ + (DST))) \ + : (SOCKET_SET_ERRNO(EAFNOSUPPORT), NULL)) +#define HAVE_INET_NTOP +#endif + #endif /* HAVE_MACSOCK_H */ #endif /* _WIN32 */ |