On Fri, Apr 21, 2006 at 12:00:00PM +0200, Corinna Vinschen wrote:
> On Apr 21 11:25, Lars Munch wrote:
> > Hello
> > 
> > I have noticed that the types of the functions htonl, htons, ntohs and
> > ntohl differs from standard (and linux):
> > 
> > http://www.opengroup.org/onlinepubs/000095399/functions/htonl.html
> > 
> > Cygwin uses:
> > 
> > unsigned long int        ntohl(unsigned long int);
> > unsigned short int       ntohs(unsigned short int);
> > unsigned long int        htonl(unsigned long int);
> > unsigned short int       htons(unsigned short int);
> > 
> > The standard (and Linux) has:
> > 
> > uint32_t htonl(uint32_t hostlong);
> > uint16_t htons(uint16_t hostshort);
> > uint32_t ntohl(uint32_t netlong);
> > uint16_t ntohs(uint16_t netshort);
> > 
> > Is there any reason for this difference?
> 
> Nobody had a problem so far?
> 
> Fixed in CVS.
> 

You missed one. See attachment.

-- Lars Munch
Index: ./winsup/cygwin/include/asm/byteorder.h
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/include/asm/byteorder.h,v
retrieving revision 1.3
diff -u -r1.3 byteorder.h
--- ./winsup/cygwin/include/asm/byteorder.h     21 Apr 2006 09:59:07 -0000      
1.3
+++ ./winsup/cygwin/include/asm/byteorder.h     21 Apr 2006 13:00:03 -0000
@@ -36,7 +36,7 @@
 extern __inline__ uint16_t     __constant_ntohs(uint16_t);
 
 extern __inline__ uint32_t
-__ntohl(unsigned long int x)
+__ntohl(uint32_t x)
 {
        __asm__("xchgb %b0,%h0\n\t"     /* swap lower bytes     */
                "rorl $16,%0\n\t"       /* swap words           */

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to