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 3 // found in the LICENSE file. 4 5 #include "nacl_io/ossocket.h" 6 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) 7 8 #include <string.h> 9 #include "sdk_util/macros.h" 10 11 static uint8_t GetByte(const void* addr, int byte) { 12 const char* buf = static_cast<const char*>(addr); 13 return static_cast<uint8_t>(buf[byte]); 14 } 15 16 EXTERN_C_BEGIN 17 18 char* inet_ntoa(struct in_addr in) { 19 static char addr[INET_ADDRSTRLEN]; 20 snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u", 21 GetByte(&in, 0), GetByte(&in, 1), 22 GetByte(&in, 2), GetByte(&in, 3)); 23 return addr; 24 } 25 26 EXTERN_C_END 27 28 #endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) 29