I'm getting an strange warning whem compiling with clang (from base) on RC1.

This warning doesn't appear with 8.X and clang from ports.

The warning is strange because ntohs is not int:

uint16_t
     ntohs(uint16_t netshort);


Any insight would be appreciated, thanks in advance!

A

****

% gcc -Wall -o ntohs ntohs.c
% clang -Wall -o ntohs ntohs.c
ntohs.c:8:12: warning: conversion specifies type 'unsigned short' but the 
argument has type
      'int' [-Wformat]
        printf("%hu\n", ntohs(x));
                ~~^     ~~~~~~~~
                %d                                                              
                
1 warning generated.
 
 
#include <stdio.h>
#include <netinet/in.h>
 
int main()
{
        uint16_t x = htons(80);
        printf("%hu\n", (uint16_t)ntohs(x));
        printf("%hu\n", ntohs(x));
        return (0);
}
 

-- 
Mon Oct 31 18:02:13 2011 GMT

        **
         ****
          *****
          ******
          ******
          *****
         ****
        **      5.

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to