Frank Heckenbach wrote:
[...]
I have tried to make the code portable, and I believe that I have achieved this (it works fine with TP, BP, Delphi, FreePascal, and GPC). AFAIK there are no "endian" issues, but I stand corrected.
Unfortunately, there seem to be some. Files compressed on a little-endian machine don't uncompress on a big-endian one (or vice versa). Comparing the same file compressed on both kinds of machines shows differences in byte ordering.
I don't have the time to study the code throughly enough to say exactly what the problem it, but at first sight, WDBuf might be the problem, since it contains 16-bit words which are written to a file.
[....]
Indeed, the problem was with WdBuf. I have now added the endian conversion stuff, and I have tested it on mingw32 and Solaris. The data files are now compatible. Thanks.
There is a new version of the ZIP file on agnes (lhsix110.zip).
BTW: some of your endian conversion functions declare a local variable called "Result". "Result" is predefined in all functions under Delphi and Virtual Pascal, and so the code breaks under those platforms. It is only a small matter, but you might want to address it now rather than later, if the code is supposed to be used by Delphi as well as BP people.
Best regards, The Chief -------- Dr. Abimbola A. Olowofoyeku (The African Chief) Email: laa12@keele.ac.uk Homepage: http://ourworld.compuserve.com/homepages/African_Chief/ Author of: Chief's Installer Pro v5.00 for Win32 ftp://ftp.simtel.net/pub/simtelnet/win95/install/chief500.zip