| 191 | } |
| 192 | |
| 193 | void *sk_delete(_STACK *sk, size_t where) { |
| 194 | void *ret; |
| 195 | |
| 196 | if (!sk || where >= sk->num) { |
| 197 | return NULL; |
| 198 | } |
| 199 | |
| 200 | ret = sk->data[where]; |
| 201 | |
| 202 | if (where != sk->num - 1) { |
| 203 | memmove(&sk->data[where], &sk->data[where + 1], |
| 204 | sizeof(void *) * (sk->num - where - 1)); |
| 205 | } |
| 206 | |
| 207 | sk->num--; |
| 208 | return ret; |
| 209 | } |
| 210 | |
| 211 | void *sk_delete_ptr(_STACK *sk, void *p) { |
| 212 | size_t i; |
no outgoing calls
no test coverage detected