David, > A fucntion which is declared with no arguments (eg sock_host()) > is assumed to be a function defined in the K&R way. Argument number > and types don't need to be known. To decalre a function which takes > no arguments (and which has an ANSI style definition) you say > "function(void)". So this prototype is correct because the definition > in socket.c is a K&R definition.
Such K&R way to declare functions sounds like an open invitation for bugs. > > MySQL on Alpha gives "unaligned access..." > > error because they use it w/out an argument and > > actual libwrap expects an argument. > > The bug would seem to be calling sock_host without an argument. C++ complains if function was declared K&R style and used correctly. So I had to change those declarations in tcpd.h to compile correctly. > I've been considering adding ANSI prototypes to tcpd.h, so we > get more useful warnings from it. Yes, please add them! Right now MySQL calls functions the wrong way but due to the specifics of i386 assembly they get away with this. Since compiler pushes this argument to stack before calling them for some function following later on. So they use it as if it was theirs )) And Alpha code is built differently so this bug comes up. Regards, Yuri. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message