void delete_from_list (void)
{
ADDRESS *del_ptr; /* Pointer to find name to delete */
ADDRESS *prev_ptr; /* Pointer to name BEFORE this name */
char del_name[MAXLEN]; /* Name to delete */
printf ("Name> ");
fgets (del_name, MAXLEN, stdin);
if (hol == NULL) {
printf ("No list to delete from\n");
return;
}
if (strcmp(hol->name, del_name) == 0) {
del_ptr= hol;
hol= hol->next;
free(del_ptr);
return;
}
prev_ptr= hol;
while (prev_ptr->next != NULL) {
if (strcmp(prev_ptr->next->name,del_name) == 0) {
del_ptr= prev_ptr->next;
prev_ptr->next= del_ptr->next;
free(del_ptr);
return;
}
prev_ptr= prev_ptr->next;
}
printf ("Name not found!\n");
}