Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: PanterHZ on February 24, 2018, 06:24:37 AM
-
I noticed this thread over at EAB: http://eab.abime.net/showthread.php?t=90890
The reason for this problem is a bug in xadmasters internal LhA client, where spaces in file names will be converted to underscores upon extracting/listing lha archives created with LhA 2.15. What causes this is that LhA 2.15 by default uses level 1 file headers (other LhA versions use level 0), and the xadmaster system doesn't seem to handle this well.
I know that this bug was fixed for the OS4 xadmaster version, but did anybody ever fix it for the classic Amigas? If not, it would be really appriciated if someone with the knowledge of doing so, could do it.
-
I noticed this thread over at EAB: http://eab.abime.net/showthread.php?t=90890
The reason for this problem is a bug in xadmasters internal LhA client, where spaces in file names will be converted to underscores upon extracting/listing lha archives created with LhA 2.15. What causes this is that LhA 2.15 by default uses level 1 file headers (other LhA versions use level 0), and the xadmaster system doesn't seem to handle this well.
I know that this bug was fixed for the OS4 xadmaster version, but did anybody ever fix it for the classic Amigas? If not, it would be really appriciated if someone with the knowledge of doing so, could do it.
This always gave me trouble too. Didn't know what the cause was at the time. Figured out later that my problem was xadmaster. I have an old post somewhere about from a few years ago.
-
I noticed this thread over at EAB: http://eab.abime.net/showthread.php?t=90890
The reason for this problem is a bug in xadmasters internal LhA client, where spaces in file names will be converted to underscores upon extracting/listing lha archives created with LhA 2.15. What causes this is that LhA 2.15 by default uses level 1 file headers (other LhA versions use level 0), and the xadmaster system doesn't seem to handle this well.
I know that this bug was fixed for the OS4 xadmaster version, but did anybody ever fix it for the classic Amigas? If not, it would be really appriciated if someone with the knowledge of doing so, could do it.
Yes; it is fixed in the xadmaster repository. Somebody who has the time to figure out which makefile to run needs to build v13 for 68k.
-
@Chris:
I'm not having any luck finding the source code, do you have a link please?
-
@Chris:
I'm not having any luck finding the source code, do you have a link please?
https://sourceforge.net/projects/libxad/
-
@gulliver:
That doesn't seem to be it; that project is for BSD and Linux. And there are no files there to download in any case.
-
@gulliver:
That doesn't seem to be it; that project is for BSD and Linux. And there are no files there to download in any case.
No, that is it. sf.net is in static offline mode at the moment so I can't see if I can get to the files, but I don't see why they wouldn't still be there.
There's an unofficial mirror here: https://github.com/ashang/libxad
I don't know if it is up-to-date but it should be new enough.
The fact that it is a hybrid Linux/Amiga project with loads of makefiles and a weird structure is precisely why I can't figure out how to build it (although I didn't try very hard) (and I think the 68k side of things expects SAS/C, which doesn't help).
-
xadmaster.library got a design which is a result of programming for
xfdmaster.library, programming xpkmaster.library and fd2pragma tool. I got
some problems with these and tried to fix them for xadmaster.library.
I hope I got all :-) We will see in some years.
The library has a very open interface allowing future enhancements easily.
Nearly all funtions get their arguments through TagItem structures and
all structures must be allocated through xadmaster.library which ensures
the ability to expand them. The functions using Tag arrays end with A.
Related varargs functions end without A, but are not supported on all
compilers directly. Use fd2pragma to create link libraries for e.g.
MaxonC++ compiler.
The library is done in pure C code compiled with SAS-C. It does not use
global variables and library bases or the ExecBase pointer from 4.W. All
the necessary data is stored locally. All library functions use the normal
library interface for their work (e.g. xadGetInfo does not call
xadAllocObject internally, but with normal library call).
The library base pointers stored in xadMasterBase should be used from
clients only. No other programs should access them to ensure future
compatibility!
If you need additionally include files, use fd2pragma utility. It can be
found in Aminet under name dev/misc/fd2pragma.lha.
It is able to produce stub libraries, lvo, proto and pragma files and a lot
of other stuff.
The inline files in directory inline will work with GCC and VBCC.
The pragma files will work with SAS, Maxon, Storm, Dice and Aztec compiler.
The proto files will work with all of these compilers!
Most of these files were automatically created with fd2pragma (2.139 or
better):
fd2pragma SPECIAL 6 INFILE SFD/xadmaster_lib.sfd TO C/pragma
fd2pragma SPECIAL 18 INFILE SFD/xadmaster_lib.sfd TO AmigaE/
fd2pragma SPECIAL 40 INFILE SFD/xadmaster_lib.sfd TO C/inline
fd2pragma SPECIAL 38 INFILE SFD/xadmaster_lib.sfd TO C/proto
fd2pragma SPECIAL 70 INFILE SFD/xadmaster_lib.sfd TO C/inline
fd2pragma SPECIAL 23 INFILE SFD/xadmaster_lib.sfd TO ASM/lvo
fd2pragma SPECIAL 110 INFILE SFD/xadmaster_lib.sfd TO FD COMMENT
fd2pragma SPECIAL 111 INFILE SFD/xadmaster_lib.sfd TO C/clib COMMENT COPYRIGHT "Dirk Stöcker"
For GCC you may delete the pragma directory.
For all the other C compilers you may delete the inline directory,
but use pragma instead. Do not rename pragma to pragmas or change
the file names! When pragma does not exist, please create it.
Always call files in proto directory instead of clib, inline or pragma
directory! This makes usage of different compilers possible.
You need not to modify any of the include files or change their names!
Dirk Stöcker
13th December 2001
-
xadmaster v13 would have been nice to have, but if it turns out to be impossible to compile it for 68k, maybe http://aminet.net/package/util/arc/xad_lha could be compiled instead?
Then we would at least have had a fixed lha client.
-
xadmaster 13.0 (15.02.2003) 040 BETA.
Be warned that it will NOT work on a 68020!
Get it from:
http://lilliput.amiga-projects.net/Files/xadmaster.library
I found it long ago in an archive of a defunct french amiga website.
-
NICE!!! Thanks for your work on this! :) This irked me for years.
-
xadmaster v13 would have been nice to have, but if it turns out to be impossible to compile it for 68k, maybe http://aminet.net/package/util/arc/xad_lha could be compiled instead?
No, it needs xadmaster.library 13, so you may as well build xadmaster with the fixed client already included.
Note the xadmaster 13 posted above probably also has the broken client if it is as old as suggested.
-
Note the xadmaster 13 posted above probably also has the broken client if it is as old as suggested.
Yes, I just tested it and it still has the space-to-underscore bug.