On Fri, 2013-01-04 at 06:31 +0200, John Hay wrote: > Looking at a linux man page: > > http://linux.die.net/man/2/setsockopt > > I see the same kind of text: > > Most socket-level options utilize an int argument for optval. For > setsockopt(), the argument should be nonzero to enable a boolean option, > or zero if the option is to be disabled. Ah, interesting, I have to admit that I didn't read the Linux man page. > So maybe it is just luck that the current code does work and all of them > actually expects it in an int. :-) That said, when I was searching the BSD options, I did read somewhere that Linux started accepting a char value after a certain kernel version. > I think it started because of hysterical raisins, from the days before > function prototypes, but even the examples in recentish rfcs (3493 and > 3542) that describe IPv6 usage, use an int in all their examples that > will fit in an int. Also a plain int is used and not a int32, probably > because a native int is assumed to be the most efficient size. Interesting - maybe I should have kept it as an int all along :) Andy