On Thu, Apr 8, 2010 at 7:40 PM, John Holden <johnh(a)psych.usyd.edu.au> 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.
In the PDP-11 long is 32 bits, int 16 bits. And the PDP-11 is
determinedly little-endian if you stick to integers.
They got floating-point software right in 1971, but somebody screwed
up the word order when building FP hardware, which led to the
middle-endian mess.
carl
--
carl lowenstein marine physical lab u.c. san diego
clowenstein(a)ucsd.edu