Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / libraries / nacl_io / syscalls / inet_ntoa.c
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
7 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__)
8
9 static uint8_t GetByte(const void* addr, int byte) {
10   const char* buf = (const char*)addr;
11   return (uint8_t)buf[byte];
12 }
13
14 char* inet_ntoa(struct in_addr in) {
15   static char addr[INET_ADDRSTRLEN];
16   snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u",
17            GetByte(&in, 0), GetByte(&in, 1),
18            GetByte(&in, 2), GetByte(&in, 3));
19   return addr;
20 }
21
22 #endif  // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__)