Deleted Added
full compact
inet_ntop.c (146998) inet_ntop.c (157016)
1/* OPENBSD ORIGINAL: lib/libc/net/inet_ntop.c */
1/* $OpenBSD: inet_ntop.c,v 1.7 2005/08/06 20:30:03 espie Exp $ */
2
2
3/* $OpenBSD: inet_ntop.c,v 1.5 2002/08/23 16:27:31 itojun Exp $ */
4
5/* Copyright (c) 1996 by Internet Software Consortium.
6 *
7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies.
10 *
11 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
12 * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
13 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
14 * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
15 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
16 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
17 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
18 * SOFTWARE.
19 */
20
3/* Copyright (c) 1996 by Internet Software Consortium.
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
10 * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
11 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
12 * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
15 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
16 * SOFTWARE.
17 */
18
19/* OPENBSD ORIGINAL: lib/libc/net/inet_ntop.c */
20
21#include "includes.h"
22
23#ifndef HAVE_INET_NTOP
24
21#include "includes.h"
22
23#ifndef HAVE_INET_NTOP
24
25#if defined(LIBC_SCCS) && !defined(lint)
26#if 0
27static char rcsid[] = "$From: inet_ntop.c,v 8.7 1996/08/05 08:41:18 vixie Exp $";
28#else
29static char rcsid[] = "$OpenBSD: inet_ntop.c,v 1.5 2002/08/23 16:27:31 itojun Exp $";
30#endif
31#endif /* LIBC_SCCS and not lint */
32
33#include <sys/param.h>
34#include <sys/types.h>
35#include <sys/socket.h>
36#include <netinet/in.h>
37#include <arpa/inet.h>
38#include <arpa/nameser.h>
39#include <string.h>
40#include <errno.h>

--- 19 unchanged lines hidden (view full) ---

60 * inet_ntop(af, src, dst, size)
61 * convert a network format address to presentation format.
62 * return:
63 * pointer to presentation format address (`dst'), or NULL (see errno).
64 * author:
65 * Paul Vixie, 1996.
66 */
67const char *
25#include <sys/param.h>
26#include <sys/types.h>
27#include <sys/socket.h>
28#include <netinet/in.h>
29#include <arpa/inet.h>
30#include <arpa/nameser.h>
31#include <string.h>
32#include <errno.h>

--- 19 unchanged lines hidden (view full) ---

52 * inet_ntop(af, src, dst, size)
53 * convert a network format address to presentation format.
54 * return:
55 * pointer to presentation format address (`dst'), or NULL (see errno).
56 * author:
57 * Paul Vixie, 1996.
58 */
59const char *
68inet_ntop(af, src, dst, size)
69 int af;
70 const void *src;
71 char *dst;
72 size_t size;
60inet_ntop(int af, const void *src, char *dst, size_t size)
73{
74 switch (af) {
75 case AF_INET:
76 return (inet_ntop4(src, dst, size));
77 case AF_INET6:
78 return (inet_ntop6(src, dst, size));
79 default:
80 errno = EAFNOSUPPORT;

--- 9 unchanged lines hidden (view full) ---

90 * `dst' (as a const)
91 * notes:
92 * (1) uses no statics
93 * (2) takes a u_char* not an in_addr as input
94 * author:
95 * Paul Vixie, 1996.
96 */
97static const char *
61{
62 switch (af) {
63 case AF_INET:
64 return (inet_ntop4(src, dst, size));
65 case AF_INET6:
66 return (inet_ntop6(src, dst, size));
67 default:
68 errno = EAFNOSUPPORT;

--- 9 unchanged lines hidden (view full) ---

78 * `dst' (as a const)
79 * notes:
80 * (1) uses no statics
81 * (2) takes a u_char* not an in_addr as input
82 * author:
83 * Paul Vixie, 1996.
84 */
85static const char *
98inet_ntop4(src, dst, size)
99 const u_char *src;
100 char *dst;
101 size_t size;
86inet_ntop4(const u_char *src, char *dst, size_t size)
102{
103 static const char fmt[] = "%u.%u.%u.%u";
104 char tmp[sizeof "255.255.255.255"];
105 int l;
106
107 l = snprintf(tmp, size, fmt, src[0], src[1], src[2], src[3]);
108 if (l <= 0 || l >= size) {
109 errno = ENOSPC;

--- 5 unchanged lines hidden (view full) ---

115
116/* const char *
117 * inet_ntop6(src, dst, size)
118 * convert IPv6 binary address into presentation (printable) format
119 * author:
120 * Paul Vixie, 1996.
121 */
122static const char *
87{
88 static const char fmt[] = "%u.%u.%u.%u";
89 char tmp[sizeof "255.255.255.255"];
90 int l;
91
92 l = snprintf(tmp, size, fmt, src[0], src[1], src[2], src[3]);
93 if (l <= 0 || l >= size) {
94 errno = ENOSPC;

--- 5 unchanged lines hidden (view full) ---

100
101/* const char *
102 * inet_ntop6(src, dst, size)
103 * convert IPv6 binary address into presentation (printable) format
104 * author:
105 * Paul Vixie, 1996.
106 */
107static const char *
123inet_ntop6(src, dst, size)
124 const u_char *src;
125 char *dst;
126 size_t size;
108inet_ntop6(const u_char *src, char *dst, size_t size)
127{
128 /*
129 * Note that int32_t and int16_t need only be "at least" large enough
130 * to contain a value of the specified size. On some systems, like
131 * Crays, there is no such thing as an integer variable with 16 bits.
132 * Keep this in mind if you think this function should have been coded
133 * to use pointer overlays. All the world's not a VAX.
134 */

--- 95 unchanged lines hidden ---
109{
110 /*
111 * Note that int32_t and int16_t need only be "at least" large enough
112 * to contain a value of the specified size. On some systems, like
113 * Crays, there is no such thing as an integer variable with 16 bits.
114 * Keep this in mind if you think this function should have been coded
115 * to use pointer overlays. All the world's not a VAX.
116 */

--- 95 unchanged lines hidden ---