OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "nacl_io/ossocket.h" | 5 #include "nacl_io/ossocket.h" |
| 6 |
6 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) | 7 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) |
7 | 8 |
8 #include <string.h> | |
9 #include "sdk_util/macros.h" | |
10 | |
11 static uint8_t GetByte(const void* addr, int byte) { | 9 static uint8_t GetByte(const void* addr, int byte) { |
12 const char* buf = static_cast<const char*>(addr); | 10 const char* buf = (const char*)addr; |
13 return static_cast<uint8_t>(buf[byte]); | 11 return (uint8_t)buf[byte]; |
14 } | 12 } |
15 | 13 |
16 EXTERN_C_BEGIN | |
17 | |
18 char* inet_ntoa(struct in_addr in) { | 14 char* inet_ntoa(struct in_addr in) { |
19 static char addr[INET_ADDRSTRLEN]; | 15 static char addr[INET_ADDRSTRLEN]; |
20 snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u", | 16 snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u", |
21 GetByte(&in, 0), GetByte(&in, 1), | 17 GetByte(&in, 0), GetByte(&in, 1), |
22 GetByte(&in, 2), GetByte(&in, 3)); | 18 GetByte(&in, 2), GetByte(&in, 3)); |
23 return addr; | 19 return addr; |
24 } | 20 } |
25 | 21 |
26 EXTERN_C_END | |
27 | |
28 #endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) | 22 #endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) |
OLD | NEW |