Date: Fri, 23 Oct 1998 15:11:03 -0500 From: Glenn Johnson <gjohnson@commserver.srrc.usda.gov> To: freebsd-hackers@FreeBSD.ORG Subject: reconciling different defines in header files between Linux and FreeBSD Message-ID: <199810232011.PAA00764@symbion.srrc.usda.gov>
next in thread | raw e-mail | index | archive | help
Greetings, I am trying to compile code on FreeBSD 3.0 that was written with Linux in mind. The following code snippet is where it is failing: void galloc_ (nwords, wordsize, iclear, refarray, offset) f77_int *nwords, *wordsize, *iclear; offset_type *offset; f77_wp *refarray; { f77_wp *gmalloc(); size_t nbytes; offset_type n; #ifdef DO_SHM int shmflags = 0; void *brkadr, *sbrk(); key_t shmkey; The error that I get is: bsd/mdutil.c: In function `galloc_': bsd/mdutil.c:2630: conflicting types for `sbrk' /usr/include/unistd.h:168: previous declaration of `sbrk' bsd/mdutil.c:2630: warning: extern declaration of `sbrk' doesn't match global one sbrk is defined in <unistd.h> in FreeBSD as: char *sbrk __P((int)); sbrk is defined in <unistd.h> in Linux as: extern __ptr_t __sbrk __P ((ptrdiff_t __delta)); extern __ptr_t sbrk __P ((ptrdiff_t __delta)); What is the right way to reconcile my code? Do I need to redefine sbrk in the source file as extern or do I make the call explicitly char? Thanks in advance. -- Glenn Johnson Technician USDA, ARS, SRRC New Orleans, LA To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810232011.PAA00764>