On Sat, Jun 03, 2000 at 11:58:50PM +1000, Shao Zhang wrote: > Hi, > Could anyone explain to me why the following C program always fails? > I mean the setsockopt always fails. Thanks for the help. > > Thanks for any help in advance. > > Regards, > > > Shao. > > > =====cut here====== > #include <stdio.h> > #include <stdlib.h> > #include <sys/socket.h> > #include <sys/types.h> > int main(void) > { > int sd, error; > const char f = 1; ^^^^^^^^^^ (make it an int) > > sd = socket(AF_INET, SOCK_DGRAM, 0); /* 0 for IP protocol */ > error = setsockopt(sd, SOL_SOCKET, SO_BROADCAST, (char *) &f, 1); ^^^^^^^^^^^^^^ no cast, sizeof(f) > if (error == -1) > printf("setsockopt on %d failed!!\n", sd); > > close(sd); > return 0; > }
Realize, I could be wrong (but those changes made it work here). -- ¶ One·should·only·use·the·ASCII·characterset·when·compos » ing·email·messages.