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 |
7 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) | 7 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) && !defined(__BIONIC__) |
8 | 8 |
9 static uint8_t GetByte(const void* addr, int byte) { | 9 static uint8_t GetByte(const void* addr, int byte) { |
10 const char* buf = (const char*)addr; | 10 const char* buf = (const char*)addr; |
11 return (uint8_t)buf[byte]; | 11 return (uint8_t)buf[byte]; |
12 } | 12 } |
13 | 13 |
14 char* inet_ntoa(struct in_addr in) { | 14 char* inet_ntoa(struct in_addr in) { |
15 static char addr[INET_ADDRSTRLEN]; | 15 static char addr[INET_ADDRSTRLEN]; |
16 snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u", | 16 snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u", |
17 GetByte(&in, 0), GetByte(&in, 1), | 17 GetByte(&in, 0), GetByte(&in, 1), |
18 GetByte(&in, 2), GetByte(&in, 3)); | 18 GetByte(&in, 2), GetByte(&in, 3)); |
19 return addr; | 19 return addr; |
20 } | 20 } |
21 | 21 |
22 #endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) | 22 #endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) ... |
OLD | NEW |