diff --git a/du4/a_train.c b/du4/a_train.c index 8825eec..b48ba90 100644 --- a/du4/a_train.c +++ b/du4/a_train.c @@ -63,8 +63,17 @@ struct car* clear_train(struct car* first, const char* target) { } struct car* prev= first; struct car* temp = first->next; - while (temp) - { + while (prev && temp) + { if (strcmp(prev, target) == 0) + { struct car* targetNode =prev; + prev = temp; + temp = temp->next; + free(targetNode); + + + /* code */ + } + if(strcmp(temp->value, target) == 0){ struct car* targetNode = temp; prev->next = temp->next;