On Fri, 22 Aug 2008 14:17:18 -0500
Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> wrote:
Andrew Morton wrote:
try in_aton() from include/linux/inet.h.+ unsigned long octet;This appears to be taking a dotted quad ipv4 address in ascii form,
+ const char *parse = buf;
+ char *endp;
+ int i;
+
+ for (i = 1; i <= 4; i++) {
+ octet = simple_strtoul(parse, &endp, 10);
+ if (endp == buf || octet > 255 ||
+ (i < 4 && *endp != '.') ||
+ (i == 4 && *endp != '\0' && *endp != '\n'))
+ return -EINVAL;
+ a = (a << 8) | octet;
+ parse = endp+1;
+ }
+ pi->iscsi_ipaddr = htonl(a);
+ return endp-buf;
+}
turning it into a u32 while performing checking?
Surely we have a library function somewhere in networking which does
this? If not, I'd suggest writing one.
yeah. But that function is a crock. No error checking at all!