inet_pton.c (156956) | inet_pton.c (170244) |
---|---|
1/* 2 * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") 3 * Copyright (c) 1996,1999 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 ISC DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 15 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18#if defined(LIBC_SCCS) && !defined(lint) | 1/* 2 * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") 3 * Copyright (c) 1996,1999 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 ISC DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 15 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18#if defined(LIBC_SCCS) && !defined(lint) |
19static const char rcsid[] = "$Id: inet_pton.c,v 1.2.206.2 2005/07/28 07:43:18 marka Exp $"; | 19static const char rcsid[] = "$Id: inet_pton.c,v 1.3.18.2 2005/07/28 07:38:07 marka Exp $"; |
20#endif /* LIBC_SCCS and not lint */ 21#include <sys/cdefs.h> | 20#endif /* LIBC_SCCS and not lint */ 21#include <sys/cdefs.h> |
22__FBSDID("$FreeBSD: head/lib/libc/inet/inet_pton.c 156956 2006-03-21 15:37:16Z ume $"); | 22__FBSDID("$FreeBSD: head/lib/libc/inet/inet_pton.c 170244 2007-06-03 17:20:27Z ume $"); |
23 24#include "port_before.h" 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> 33#include "port_after.h" 34 | 23 24#include "port_before.h" 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> 33#include "port_after.h" 34 |
35/* | 35/*% |
36 * WARNING: Don't even consider trying to compile this on a system where 37 * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX. 38 */ 39 40static int inet_pton4(const char *src, u_char *dst); 41static int inet_pton6(const char *src, u_char *dst); 42 43/* int --- 134 unchanged lines hidden (view full) --- 178 seen_xdigits = 0; 179 val = 0; 180 continue; 181 } 182 if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) && 183 inet_pton4(curtok, tp) > 0) { 184 tp += NS_INADDRSZ; 185 seen_xdigits = 0; | 36 * WARNING: Don't even consider trying to compile this on a system where 37 * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX. 38 */ 39 40static int inet_pton4(const char *src, u_char *dst); 41static int inet_pton6(const char *src, u_char *dst); 42 43/* int --- 134 unchanged lines hidden (view full) --- 178 seen_xdigits = 0; 179 val = 0; 180 continue; 181 } 182 if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) && 183 inet_pton4(curtok, tp) > 0) { 184 tp += NS_INADDRSZ; 185 seen_xdigits = 0; |
186 break; /* '\0' was seen by inet_pton4(). */ | 186 break; /*%< '\\0' was seen by inet_pton4(). */ |
187 } 188 return (0); 189 } 190 if (seen_xdigits) { 191 if (tp + NS_INT16SZ > endp) 192 return (0); 193 *tp++ = (u_char) (val >> 8) & 0xff; 194 *tp++ = (u_char) val & 0xff; --- 21 unchanged lines hidden (view full) --- 216} 217 218/* 219 * Weak aliases for applications that use certain private entry points, 220 * and fail to include <arpa/inet.h>. 221 */ 222#undef inet_pton 223__weak_reference(__inet_pton, inet_pton); | 187 } 188 return (0); 189 } 190 if (seen_xdigits) { 191 if (tp + NS_INT16SZ > endp) 192 return (0); 193 *tp++ = (u_char) (val >> 8) & 0xff; 194 *tp++ = (u_char) val & 0xff; --- 21 unchanged lines hidden (view full) --- 216} 217 218/* 219 * Weak aliases for applications that use certain private entry points, 220 * and fail to include <arpa/inet.h>. 221 */ 222#undef inet_pton 223__weak_reference(__inet_pton, inet_pton); |
224 225/*! \file */ |
|