# how do you make a copy of a linked list in c

how do you make a copy of a linked list in c
struct node *copyList(struct node *sourceList)
{
if(sourceList==NULL) return;
struct node *targetList=(struct node *) malloc(sizeof(struct node));
targetList->info=sourceList->info;