rest of the list node pointed
to by first.
The implementation is as follows:
struct List *List_getrest(struct List *pList)
{
struct List *result;
if (!((struct _List *)pList)->first)
{
result = pList;
}
else
{
result = (struct List *)&(((struct _List *)pList)->first->rest);
}
return result;
}