On Wed, 28 May 1997 15:54:42 -0400 (EDT) Pierre Phaneuf pp@dilu.ml.org wrote:
On Wed, 28 May 1997, The African Chief wrote:
[1] - the DOS and CRT units are not portable to unix and Linux). This is obviously due to the use of functions from DOS.H and CTYPE.H and CONIO.H. Can anyone port those units to unix and Linux (or, put another way, are there any unix/Linux ports of dos.h, ctype.h and conio.h)? Without these, the DOS and CRT units will never port to unix/Linux.
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!
[2] the SYSTEM unit is not totally portable - because of "itoa()" which I used in the "Str" procedure. itoa() converts an int to a CString. Is there a unix/Linux equivalent of this? I can use an IFDEF to link the unix/Linux equivalent if "__UNIX__" is defined.
If there is a Unix equivalent, it could be used both in the Unix version and the DOS version, no? Would be cleaner...
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!
Best regards, The Chief Dr Abimbola A. Olowofoyeku (The African Chief, and the Great Elephant) Author of: Chief's Installer Pro v3.50 for Win16 and Win32. Homepage: http://ourworld.compuserve.com/homepages/African_Chief/ E-mail: laa12@cc.keele.ac.uk