OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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__) |
8 | 8 |
| 9 #include <stdio.h> |
9 #include <string.h> | 10 #include <string.h> |
10 #include <limits.h> | 11 #include <limits.h> |
11 | 12 |
12 int inet_aton(const char *cp, struct in_addr *inp) { | 13 int inet_aton(const char *cp, struct in_addr *inp) { |
13 unsigned int p1 = 0, p2 = 0, p3 = 0, p4 = 0; | 14 unsigned int p1 = 0, p2 = 0, p3 = 0, p4 = 0; |
14 int consumed = 0; | 15 int consumed = 0; |
15 int matched = sscanf(cp, "%u.%u.%u.%u%n", &p1, &p2, &p3, &p4, | 16 int matched = sscanf(cp, "%u.%u.%u.%u%n", &p1, &p2, &p3, &p4, |
16 &consumed); | 17 &consumed); |
17 | 18 |
18 if (strlen(cp) == consumed && matched == 4) { | 19 if (strlen(cp) == consumed && matched == 4) { |
(...skipping 26 matching lines...) Expand all Loading... |
45 if (strlen(cp) == consumed && matched == 1) { | 46 if (strlen(cp) == consumed && matched == 1) { |
46 inp->s_addr = htonl(p1); | 47 inp->s_addr = htonl(p1); |
47 return 1; | 48 return 1; |
48 } | 49 } |
49 | 50 |
50 // Failure | 51 // Failure |
51 return 0; | 52 return 0; |
52 } | 53 } |
53 | 54 |
54 #endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) | 55 #endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) |
OLD | NEW |