Path: utzoo!mnetor!uunet!portal!atari!apratt From: apratt@atari.UUCP (Allan Pratt) Newsgroups: comp.sys.atari.st Subject: Re: Mshrink() (was "BITNET mail follows") Message-ID: <1047@atari.UUCP> Date: 27 Apr 88 17:04:56 GMT References: <4983@chinet.UUCP> Organization: Atari Corp., Sunnyvale CA Lines: 27 From article <4983@chinet.UUCP>, by dag@chinet.UUCP (Daniel A. Glasser): > Mshrink() takes two parameters, the first is a pointer to the beginning > of a block of memory that has been allocated by a call to Malloc() (this > includes the basepage/TPA of a program in memory) and the second > parameter is a long containing the number of bytes to be freed. > Mshrink() is a GEMDOS function and has function code 74. Poor Dan Glasser has forgotten something: the macro Mshrink includes a dummy parameter, because the Gemdos call has an unused argument. #define Mshrink(base,newsize) gemdos(0x4a,0,base,newsize) Most macro files (including Atari's osbind.h) have this definition, but you have to know it's there if you're setting up your own bindings. This is a handy time to mention that the arguments to Fdatime are documented wrong: the correct call is: Fdatime(timebuf,handle,wflag) int *timebuf; /* pointer to two int's */ int handle; /* handle of file to change */ int wflag; /* 1 for write, 0 for read */ ============================================ Opinions expressed above do not necessarily -- Allan Pratt, Atari Corp. reflect those of Atari Corp. or anyone else. ...ames!atari!apratt