dad@eisx.UUCP (D. DeCourcelle) (10/05/83)
Other problems noted with Lattice C v1.04 & C-food: * fread() and fwrite() don't work right. First of all you can't open a file for read/write, only read, write, or append (write with file positioned at end). Secondly, to do binary I/O you've got to set an external variable before calling fopen(). Finally, doing an fread() when at the end of a file does not return 0 bytes, and the feof() function only indicates EOF after you've tried to read one record beyond the end of the file. All in all, code that I tried to port that used the "portable" I/O library (fread/fwrite) needed extensive kludging to get working. * scanf() goes nuts if you try typing something in, make a mistake, and try to use the backspace key. This bug really erks me. * the date() function insists on returning the date in the string form YY/MM/DD and not MM/DD/YY or MM-DD-YY as described in the manual. * The lack of a libraryian program in the Lattice package makes life a lot more difficult. Why isn't one provided? * NO MATH or TRIG routines!! If you need 'em, scrounge around and type 'em in (as I had to do). * No support for full path file names (eg, /usr/bin/ls.c ). If you try port or write programs like Unix "diff" you just gotta have full path file names. After reading all the praises of Lattice C on the net, I must say that in all fairness that it has some problems. Luckily I haven't caught it generating bad code except in one case (which is a documented bug... using char values in a float expression). Lack of any source code to the library functions makes it impossible to deal with library problems. This is one area where I must say my Aztec C was much better (full library source, full math/trig library source too). I hope the author can fix these bugs before the next release. If not, could (s)he at least provide the library source. - Don deCourcelle Highland Park, NJ
gj@utastro.UUCP (10/09/83)
The LATTICE C compiler that supports the large memory model is currently being beta-tested. The executable it produces is about 25% larger due to 32 bit pointers. I don't know when it will be released.