[pups] extract old archive format?

Johnny Billquist bqt at softjar.se
Fri Apr 9 20:21:23 AEST 2010


John Holden wrote:
>> Well I found the ar specification (in ar.5 not ar.1).
>>
>>              struct ar_hdr {
>>                      char      ar_name[14];
>>                      long      ar_date;
>>                      char      ar_uid;
>>                      char      ar_gid;
>>                      int       ar_mode;
>>                      long      ar_size;
>>              };
> 
> Endian should not be a problem on a Intel/AMD processor. More likely your C
> compiler is padding out the array for alignment. Try a '-fpack-struct' or
> more safely, read the elements individually rather than a structure.
> 
> PS
> 
> To check, see what 'sizeof (struct ar_hdr_)' returns.

Well, you are correct in that aligment is a part of the problem. 
However, endianess is also a problem with longs, since they are not 
little-endian on a PDP11. :-)

	Johnny



More information about the TUHS mailing list