if(!ch->quest_first )
ch->quest_first = quest;
if( ch->quest_last )
ch->quest_last->next = quest;
ch->quest_last = quest;
for ( q = quests; q != NULL; q = q->next )
for (q = ch->quest_first ; q ; q = q->next)
// If the list is empty (because quest_first is null) , set
// the new node to be the first quest node.
if(!ch->quest_first )
ch->quest_first = quest;
// If we have a last node, update its 'next' pointer to the new node.
if( ch->quest_last )
ch->quest_last->next = quest;
// In any case, the new node is now the last quest node.
ch->quest_last = quest;