Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site spuxll.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!whuxl!whuxlm!spuxll!ech From: ech@spuxll.UUCP (Ned Horvath) Newsgroups: net.micro.mac Subject: Re: "Inside Macintosh" and pascal Message-ID: <635@spuxll.UUCP> Date: Tue, 19-Mar-85 22:25:28 EST Article-I.D.: spuxll.635 Posted: Tue Mar 19 22:25:28 1985 Date-Received: Thu, 21-Mar-85 01:46:25 EST References: <2482@nsc.UUCP> Organization: AT&T Information Systems, South Plainfield NJ Lines: 19 Chuqui needs to know "a lot of pascal". There is a (usually reliable) shortcut: break out the Inside Mac section on assembler programming: it gives the datatype equivalents for the various datatypes used throughout the rest of the manual, and also discusses the pascal calling conventions. Caveats: - all structures >= 4 bytes in length are passed by pointer. that's why all the sumacc calls use unary & a lot... - booleans are claimed to be 16-bit quantities. That turns out to be UNTRUE in certain structures, notably the File system structures. - the biggest hassle I have found with using C for the mac (I use sumacc) is the different string representations. This has burned me a LOT. One tip for sumacc users (and maybe others): whenever you pass a string pointer that is supposed to receive a result, make sure the first byte pointed to is initialized to '\0'; it may not be necessary all the time, but it can't hurt and failing to do this is a rich source of "bombs". =Ned=