Path: utzoo!utgpu!water!watmath!clyde!bellcore!decvax!mandrill!gatech!rutgers!ucsd!ames!elroy!scgvaxd!ashtate!dbase!awd From: awd@dbase.UUCP (Alastair Dallas) Newsgroups: comp.sys.mac.programmer Subject: Re: LSC 3.0 "Context" + Passing parameters Summary: That's easy... Keywords: LSC, THINK, Context, Debugger Message-ID: <425@dbase.UUCP> Date: 23 Jul 88 23:59:14 GMT References: <3653@bnrmtv.UUCP> Distribution: na Organization: Ashton Tate Development Center Glendale Cal. Lines: 31 That's an easy one. Your problem boils down to the simple failing test case: #define N 15 int func(arg) long arg; { printf("%ld", arg); } main() { func(N); } The preprocessor does straight text substitution, so you get: func(15); It should be obvious that 15 will be treated as an int (16-bit in LSC). Your function expects a long. Mystery solved. Next! /alastair/