hurf@batcomputer.tn.cornell.edu (Hurf Sheldon) (06/25/87)
Under Ultrix(DEC) and UTX(Gould) I get a compiler (and lint) error
about unacceptable types that does no occur under 4.3bsd - I have looked at
the pertinent include files on 4.3 and Ultrix and they are identical as
far as my problem is concerned.
the problem (from tn3270's telnet.c)
sin.sin_addr.s_addr = inet_addr(argv[1])
causes the error " operands of = have incompatible types"
where argv is declared char *argv[], 'sin.sin_addr.s_addr' is
u_long (from include/netinet/in.h ) and inet_addr() is declared
'external unsigned long inet_addr();' in telnet.c
Is there a way to get this past the compiler - I have tried a couple of
(probably simplistic) redefines and they have made thing worse.
thanks,
hurf
--
Hurf Sheldon Network: hurf@ionvax.tn.cornell.edu
Lab of Plasma Studies Bitnet: hurf@CRNLION
369 Upson Hall, Cornell University, Ithaca, N.Y. 14853 ph:607 255 7267
I sold my Elan, got a job in science; Now, no one takes me seriously.toma@killer.UUCP (Tom Armistead) (07/01/87)
In article <1524@batcomputer.tn.cornell.edu>, hurf@batcomputer.tn.cornell.edu (Hurf Sheldon) writes: > /* text removed . . . */ > > the problem (from tn3270's telnet.c) > sin.sin_addr.s_addr = inet_addr(argv[1]) > causes the error " operands of = have incompatible types" > where argv is declared char *argv[], 'sin.sin_addr.s_addr' is > u_long (from include/netinet/in.h ) and inet_addr() is declared > 'external unsigned long inet_addr();' in telnet.c > > Is there a way to get this past the compiler - I have tried a couple of > (probably simplistic) redefines and they have made thing worse. I don't what the type 'u_long' is, but if is a true type, like 'char' or 'int', ect..., then a type cast oper. should do it for you, like this: sin.sin_addr.s_addr = (u_long)inet_addr(argv[1]); ^^^^^^^^ |__this is the 'Type Cast' Tom UUCP: ihnp4\ \killer!toma infoswx!convex!dj3b1/ Tom Armistead