Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!uunet!zephyr.ens.tek.com!tektronix!reed!chaffee From: chaffee@reed.UUCP (Alex Chaffee) Newsgroups: comp.sys.mac.programmer Subject: Re: Think C & System 7.0b Message-ID: <16146@reed.UUCP> Date: 26 Feb 91 06:23:45 GMT References: Reply-To: chaffee@reed.UUCP (Alex Chaffee) Organization: Reed College, Portland OR Lines: 41 Gad! Not *this* topic again :-)! Not "again," "still." :) To restate K&R, arrays become pointers to their first elements when used as parameters in a function call. Understood. The decision to use the address of the typelist is based on the C User Manual, which states that you should pass the address of any toolbox argument whose size is greater than 4 bytes. If you use sizeof(), you'll find that it's 16 bytes. Ergo, pass it by address. Aha! So that's the rationale. It makes sense now. However, it was a shock to find that *your* code - the Think Class Library code, specifically CApplication.c - broke. Thus you released improper code -- naughty, naughty! ;) (By the way, I still prefer passing my arrays as pointers, so I'll keep my change to the .h file.) Re: System 7.0, you may find many problems with the new headers. Many files have changed, and more functions are prototyped that weren't before. Problems with prototypes shouldn't be too hard to fix, though. -phil -- Phil Shapiro Technical Support Analyst Language Products Group Symantec Corporation Internet: phils@chaos.cs.brandeis.edu With nothing better to do than pick semantic nits late at night, I remain, - Alex -- Alex Chaffee chaffee@reed.{UUCP,BITNET} Reed College, Portland OR 97202 ____________________