[comp.std.unix] tar or cpio? N.064

std-unix@ut-sally.UUCP (Moderator, John Quarterman) (05/11/87)

N.064	April 23, 1987	``Comments on 1003.1 N.048,'' Dominic Dunlop.

Comments on 1003.1 N48 (addition of cpio format to 1003.1 chapter 10)

1.
The structure proposed is archaic, in that it uses
	short	h_mtime[2]	and
	short	h_filesize[2]
yet says nothing about the ordering of the half-words
in the array.  This allows the possibility that different
implementations could make different "big endian" vs.
"little endian" decisions on the same underlying
architecture.

	Proposal: replace declarations above with
		long	h_mtime	and
		long	h_filesize
				or with
		time_t	h_mtime
		off_t	h_filesize

(Former probably more compatible with "shape" of
existing structgure; latter, using same types as
corresponding fields in struct stat, arguably
more correct (this argument could be extended
to other fields in struct Hdr as well)).

2.
Scanf format is incorrect.  It should be

		"%6ho%6ho%6ho%6ho%6ho%6ho%6ho%6ho%11lo%6ho%11lo%s"

(As I know to my cost, format published by AT&T
does not work on architectures where
		sizeof(int) == sizeof(long)
)

				Dominic Dunlop	4/23/87

Volume-Number: Volume 11, Number 15