
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Right now, the XInt library uses a pointer to a (privately defined) struct. The struct has several items, including a small array of "quick digits" and a pointer to a dynamically allocated array of digit_t types, both for containing the magnitude of the integer. While trying to find a more efficient way to store things, I came up with this: struct new_data_t { size_t used, allocated; // (other data items) digit_t digits[1]; // Last item in the struct }; It's an old C trick, apparently legitimized in the C99 standard as the "struct hack". For those not familiar with it, the idea is that I'd allocate a single array of digit_t types, of the required size plus sizeof(new_data_t), then just typecast it as a pointer of type new_data_t. Does anyone know if there's any reason not to do this? Maybe some portability or alignment problem with it? - -- Chad Nelson Oak Circle Software, Inc. * * * -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkvD3ZQACgkQp9x9jeZ9/wQLdQCgklN2Xcs0mDAGhsy4n3TX/Bgw JVoAoK+/YEoawXT7Yd0R3++eWLPYZhjr =Jx8O -----END PGP SIGNATURE-----