diff options
| author | Michael Brown | 2015-02-19 15:02:07 +0100 |
|---|---|---|
| committer | Michael Brown | 2015-02-19 15:02:07 +0100 |
| commit | bb1abb2b213adceb606ff458e3786c8c2ea4dc8a (patch) | |
| tree | 95b4a41c9a1374798662f4a61e193de1a1836753 /src/core/misc.c | |
| parent | [legal] Add missing copyright header to net/ipv4.c (diff) | |
| download | ipxe-bb1abb2b213adceb606ff458e3786c8c2ea4dc8a.tar.gz ipxe-bb1abb2b213adceb606ff458e3786c8c2ea4dc8a.tar.xz ipxe-bb1abb2b213adceb606ff458e3786c8c2ea4dc8a.zip | |
[ipv4] Rewrite inet_aton()
The implementation of inet_aton() has an unknown provenance. Rewrite
this code to avoid potential licensing uncertainty.
Also move the code from core/misc.c to its logical home in net/ipv4.c,
and add a few extra test cases.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/core/misc.c')
| -rw-r--r-- | src/core/misc.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/src/core/misc.c b/src/core/misc.c index eaceddfea..84cfcd803 100644 --- a/src/core/misc.c +++ b/src/core/misc.c @@ -10,29 +10,6 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <ipxe/in.h> #include <ipxe/timer.h> -/************************************************************************** -INET_ATON - Convert an ascii x.x.x.x to binary form -**************************************************************************/ -int inet_aton ( const char *cp, struct in_addr *inp ) { - const char *p = cp; - const char *digits_start; - unsigned long ip = 0; - unsigned long val; - int j; - for(j = 0; j <= 3; j++) { - digits_start = p; - val = strtoul(p, ( char ** ) &p, 10); - if ((p == digits_start) || (val > 255)) return 0; - if ( ( j < 3 ) && ( *(p++) != '.' ) ) return 0; - ip = (ip << 8) | val; - } - if ( *p == '\0' ) { - inp->s_addr = htonl(ip); - return 1; - } - return 0; -} - unsigned int strtoul_charval ( unsigned int charval ) { if ( charval >= 'a' ) { |
