In message <[EMAIL PROTECTED]>, Bruce Evans writes: >On Mon, 13 Nov 2006, Joseph Koshy wrote: > >> jkoshy 2006-11-13 04:28:29 UTC >> >> FreeBSD src repository >> >> Modified files: >> include ar.h >> Log: >> Attempt to improve application portability by marking `struct ar_hdr' >> as `packed'. >> >> The C standard leaves the alignment of individual members of a C >> struct upto the implementation, so pedantically speaking portable >> code cannot assume that the layout of a `struct ar_hdr' in memory >> will match its layout in a file. Using a __packed attribute >> declaration forces file and memory layouts for this structure to >> match. >> >> Submitted by: ru > >I don't see how this can be more portable.
I agree with bruce that __packed is not the way to go. For things that represent communication protocols, even if they happen through files, I advocate using the functions in sys/endian.h to explicitly decode and encode fields into bytestrings. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [EMAIL PROTECTED] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"
