the parameter of
traverse
has been modified to a pointer to
listname
, since it may need to be changed;
save
and
predecessor
are now parameters of
initialize
,
process
, and
finalize
traverse(plistname)