blob: c6cf6107dff4d74cf0dbeddf95d7bfb0148ab68e [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "nacl_io/ossocket.h"
#if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__)
#include <string.h>
#include "sdk_util/macros.h"
static uint8_t GetByte(const void* addr, int byte) {
const char* buf = static_cast<const char*>(addr);
return static_cast<uint8_t>(buf[byte]);
}
EXTERN_C_BEGIN
char* inet_ntoa(struct in_addr in) {
static char addr[INET_ADDRSTRLEN];
snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u",
GetByte(&in, 0), GetByte(&in, 1),
GetByte(&in, 2), GetByte(&in, 3));
return addr;
}
EXTERN_C_END
#endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__)