/* this is essentially identical to AllocPDAList. I should combine * the two. when we have to call calloc, we do it one component at a * time to simplify the process of freeing the list at program * shutdown. This should not be much of a performance hit, because it * should be very infrequently executed. */