[uClibc-cvs] CVS uClibc/libc/inet

CVS User vapier vapier at codepoet.org
Thu Jan 6 04:02:01 UTC 2005


Update of /var/cvs/uClibc/libc/inet
In directory nail:/tmp/cvs-serv29315

Modified Files:
	addr.c 
Log Message:
Document more things inet_aton() 'should' support but actually doesn't.  
Most of the time, no one ever notices, so there's not point eh ?  Also 
standardize tab usage.


--- /var/cvs/uClibc/libc/inet/addr.c	2004/02/11 23:48:39	1.15
+++ /var/cvs/uClibc/libc/inet/addr.c	2005/01/06 04:02:00	1.16
@@ -28,6 +28,22 @@
 int inet_aton(const char *cp, struct in_addr *addrptr);
 
 #ifdef L_inet_aton
+/*
+ * More undocumented inet_aton features.
+ * (read: uclibc doesnt support but glibc does)
+ * http://www.mkssoftware.com/docs/man3/inet_aton.3.asp
+ *
+ * *cp can take the form of:
+ * a.b.c.d    - {a,b,c,d} -> 1 byte
+ * a.b.c      - {a,b}     -> 1 byte    {c} -> 2 bytes
+ * a.b        - {a}       -> 1 byte    {b} -> 3 bytes
+ * a          -                        {a} -> 4 bytes
+ *
+ * Each part may be decimal, octal, or hexadecimal as in ISO C.
+ * 0x or 0X    -> hexadecimal
+ * leading 0   -> octal
+ * all else    -> decimal
+ */
 int inet_aton(cp, addrptr)
 const char *cp;
 struct in_addr *addrptr;
@@ -71,7 +87,7 @@
 	 *  of the input string, but does not store the result.
 	 */
 	if (addrptr) {
-	    addrptr->s_addr = htonl(addr);
+		addrptr->s_addr = htonl(addr);
 	}
 
 	return 1;
@@ -99,7 +115,7 @@
 	in_addr_t addr = ntohl(in.s_addr);
 	int i;
 	char *p, *q;
-   
+
 	q = 0;
 	p = buf + INET_NTOA_MAX_LEN - 1; /* cannot use sizeof(buf) here */
 	for (i=0 ; i < 4 ; i++ ) {
@@ -128,18 +144,18 @@
  */
 struct in_addr inet_makeaddr(in_addr_t net, in_addr_t host)
 {
-        in_addr_t addr;
+	in_addr_t addr;
 
-        if (net < 128)
-                addr = (net << IN_CLASSA_NSHIFT) | (host & IN_CLASSA_HOST);
-        else if (net < 65536)
-                addr = (net << IN_CLASSB_NSHIFT) | (host & IN_CLASSB_HOST);
-        else if (net < 16777216UL)
-                addr = (net << IN_CLASSC_NSHIFT) | (host & IN_CLASSC_HOST);
-        else
-                addr = net | host;
-        addr = htonl(addr);
-        return (*(struct in_addr *)&addr);
+	if (net < 128)
+		addr = (net << IN_CLASSA_NSHIFT) | (host & IN_CLASSA_HOST);
+	else if (net < 65536)
+		addr = (net << IN_CLASSB_NSHIFT) | (host & IN_CLASSB_HOST);
+	else if (net < 16777216UL)
+		addr = (net << IN_CLASSC_NSHIFT) | (host & IN_CLASSC_HOST);
+	else
+		addr = net | host;
+	addr = htonl(addr);
+	return (*(struct in_addr *)&addr);
 }
 
 #endif
@@ -172,14 +188,14 @@
 in_addr_t
 inet_netof(struct in_addr in)
 {
-        in_addr_t i = ntohl(in.s_addr);
+	in_addr_t i = ntohl(in.s_addr);
 
-        if (IN_CLASSA(i))
-                return (((i)&IN_CLASSA_NET) >> IN_CLASSA_NSHIFT);
-        else if (IN_CLASSB(i))
-                return (((i)&IN_CLASSB_NET) >> IN_CLASSB_NSHIFT);
-        else
-                return (((i)&IN_CLASSC_NET) >> IN_CLASSC_NSHIFT);
+	if (IN_CLASSA(i))
+		return (((i)&IN_CLASSA_NET) >> IN_CLASSA_NSHIFT);
+	else if (IN_CLASSB(i))
+		return (((i)&IN_CLASSB_NET) >> IN_CLASSB_NSHIFT);
+	else
+	return (((i)&IN_CLASSC_NET) >> IN_CLASSC_NSHIFT);
 }
 
 #endif



More information about the uClibc-cvs mailing list