[comp.sys.amiga.tech] Lattice prototype bugs?

rlcarr@athena.mit.edu (Rich Carreiro) (02/19/89)

I have discovered what I believe to be some errors in the Lattice C
5.02 prototype files.

1) proto/icon.h has AllocWBObject() prototyped as being 'struct WBObject'
   and AddFreeList() is prototyped as 'long'

   HOWEVER, in the workbench/icon.h include file, they are declared as
 
   struct WBObject *AllocWBObject();
   VOID AddFreeList();

   I modified proto/icon.h and the Error 72's I had went away.

2) stdlib.h DOES NOT have a prototype for rand().  As a result,
   the linker won't pick @rand out of lcr.lib when using the
   -rr option to lc (it will pick _rand out of lc.lib, though).

Are these legit bugs or am I being naive?

All answers appreciated!

ARPA:    rlcarr@athena.mit.edu
UUCP:    {wherever}!mit-eddie!mit-athena!rlcarr
BITNET:  rlcarr%athena.mit.edu@MITVMA.mit.edu

*******************************************************************************
* Rich Carreiro                 "Back off man, I'm a scientist."              *
* rlcarr@athena.mit.edu                - Dr. Peter Venkman                    *
*******************************************************************************

mwm@eris.berkeley.edu (Mike (I'll think of something yet) Meyer) (03/03/89)

In article <9334@bloom-beacon.MIT.EDU> rlcarr@athena.mit.edu (Rich Carreiro) writes:
<I have discovered what I believe to be some errors in the Lattice C
<5.02 prototype files.
<
<1) proto/icon.h has AllocWBObject() prototyped as being 'struct WBObject'
<   and AddFreeList() is prototyped as 'long'
<
<   HOWEVER, in the workbench/icon.h include file, they are declared as
< 
<   struct WBObject *AllocWBObject();
<   VOID AddFreeList();
<
<   I modified proto/icon.h and the Error 72's I had went away.
<
<2) stdlib.h DOES NOT have a prototype for rand().  As a result,
<   the linker won't pick @rand out of lcr.lib when using the
<   -rr option to lc (it will pick _rand out of lc.lib, though).
<
<Are these legit bugs or am I being naive?

Those are legit - I fixed the first one myself. On the other hand,
I've _never_ gotten a release from Lattice where I didn't have to
twiddle the include files, though I've gotten releases where I only
had to twiddle those that should have come from CBM.

There are some other problems with -rr. Onbreak() was apparently
compiled without -rr in lcsr.lib, so that it looks for _CXBRK instead
of @CXBRK. And one of the utility functions in proto/intuition.h is
missing completely from the library.

The solution in both cases was to change the proto files so those are
declared as __stdarg functions.

	<mike
--
Love and affection,					Mike Meyer
Of the corporate kind.					mwm@berkeley.edu
It's just belly to belly,				ucbvax!mwm
Never eye to eye.					mwm@ucbjade.BITNET