blob: 93825e7d574b1382ef1d87dd2f9d98e0d3f3e332 [file] [log] [blame]
Ben Murdochbb1529c2013-08-08 10:24:53 +01001/* 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
11static 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
16EXTERN_C_BEGIN
17
18char* 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
26EXTERN_C_END
27
28#endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__)