Listing 3 This function allows an unsized or zero-sized array as the last member of a structure.

add_item_to_linked_list(void * pointer_to_item,
   int size_of_item)
   {
   struct s_link *new_link;
   new_link = malloc(sizeof(struct s_link +
                  size_of_item));
   memcpy(new_link.data, pointer_to_item, size_of_item);
   ...
   }

/* End of File */