On Thu, 29 May 1997, The African Chief wrote:
This is harder. I recommend not using any ports of dos.h, ctype.h and conio.h (though I know of at least a port of conio.h), because they would be required to build the units.
This wouldn't be a problem if the ports were part of the GPC distribution just as they are with DJGPP (and EMX?).
Better make their functionality integrated in the units,
I am not sure what this means. If it means writing the code for DOS and CRT from the scratch, I wouldn't want to be the one to do that!
No, but instead of putting the conio.h port with GPC, we could look what they do in their sources, port it to Pascal and put the port into a conio.pas unit or directly in the CRT unit...
AFAICS the unix version is not in the DOS version, otherwise I would have used it (I tried to use only portable C functions in the SYSTEM unit). The problem is that itoa() exists in DJGPP and EMX (and perhaps CYGWIN) but not in unix/Linux. If there is a function in the unix/Linux C libraries that does the same thing, that function does not exist in DJGPP, so it cannot be used there. I cannot see any solution other than an IFDEF here!
It seems the portable way is to use sprintf(), but Peter suggest using WriteStr() instead, which is standard Extended Pascal, which will work same both with DJGPP, EMX and Unix!
Pierre Phaneuf
"The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." - Edsger W. Dijkstra.