On 09/09/2009 05:19 AM, Arnd Bergmann wrote: > > This is a complex problem. The structure above would need a conversion > for the pointer size that you can avoid by using a u64, but that introduces > another problem: > > 2. use a single pointer, with variable length data structures: > > struct pid_set { > int num_pids; > pid_t pids[0]; > }; > > Since pid_t is always an int, you have no problem with padding or > incompatible types, but rely on a data structure definition that > is not in C89 (not sure about C99). > C90 has these data structures, but you have to give the array a nonzero length: struct pid_set { int num_pids; pid_t pids[1]; }; In C99, this is spelt: struct pid_set { int num_pids; pid_t pids[]; }; -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers