diff options
Diffstat (limited to 'dlist.c')
| -rw-r--r-- | dlist.c | 8 |
1 files changed, 6 insertions, 2 deletions
| @@ -112,7 +112,9 @@ dlist_pop_front(struct dlist *dlist, T *data) | |||
| 112 | else | 112 | else |
| 113 | element->next->prev = NULL; | 113 | element->next->prev = NULL; |
| 114 | 114 | ||
| 115 | *data = element->data; | 115 | if ( data != NULL ) { |
| 116 | *data = element->data; | ||
| 117 | } | ||
| 116 | free(element); | 118 | free(element); |
| 117 | 119 | ||
| 118 | return true; | 120 | return true; |
| @@ -134,7 +136,9 @@ dlist_pop_back(struct dlist *dlist, T *data) | |||
| 134 | else | 136 | else |
| 135 | element->prev->next = NULL; | 137 | element->prev->next = NULL; |
| 136 | 138 | ||
| 137 | *data = element->data; | 139 | if ( data != NULL ) { |
| 140 | *data = element->data; | ||
| 141 | } | ||
| 138 | free(element); | 142 | free(element); |
| 139 | 143 | ||
| 140 | return true; | 144 | return true; |
