Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!think!ames!amdahl!nsc!csi!jwhitnel From: jwhitnel@csi.UUCP Newsgroups: comp.sys.mac Subject: Re: LSC fread head scratcher Message-ID: <1310@csib.csi.UUCP> Date: Wed, 2-Dec-87 13:00:48 EST Article-I.D.: csib.1310 Posted: Wed Dec 2 13:00:48 1987 Date-Received: Sun, 6-Dec-87 15:41:37 EST References: <213@artsvax.UUCP> Reply-To: jwhitnel@csib.UUCP (Jerry Whitnell) Organization: Communications Solutions Inc., San Jose, Ca Lines: 39 Keywords: LSC fread wierd In article <213@artsvax.UUCP> mike@artsvax.UUCP (Michael Czeiszperger) writes: >#define MAXBUFF 153600 /* room for three hundred blocks */ >do_read_file(fp) >FILE *fp; >{ > > unsigned char buffer[300 * 512]; > unsigned char *buff; /* I would have used malloc or calloc, but */ > /* everytime I called them the system crashes */ Use mlalloc (sp)? for larger then 32K > > buff = buffer; > while((!feof(fp) && ((buff - buffer) < MAXBUFF)){ > length = fread(buff,sizeof(char),512,fp); > buff += length; > } Why not use the much simpler: long length; char * buffer; unsigned char *buffer; buffer = mlalloc(MAXBUFF); if ( buffer == NULL ) /* Not enough memory */ length = fread( buffer, 512, 300, fp); return( length ); > Michael S. Czeiszperger | Disclaimer: "Sorry, I'm all out of pith" Jerry Whitnell Lizzi Borden took an axe Communication Solutions, Inc. And plunged it deep into the VAX; Don't you envy people who Do all the things You want to do?