| 402 | } |
| 403 | |
| 404 | long activeDefragQuickListNode(quicklist *ql, quicklistNode **node_ref) { |
| 405 | quicklistNode *newnode, *node = *node_ref; |
| 406 | long defragged = 0; |
| 407 | unsigned char *newzl; |
| 408 | if ((newnode = activeDefragAlloc(node))) { |
| 409 | if (newnode->prev) |
| 410 | newnode->prev->next = newnode; |
| 411 | else |
| 412 | ql->head = newnode; |
| 413 | if (newnode->next) |
| 414 | newnode->next->prev = newnode; |
| 415 | else |
| 416 | ql->tail = newnode; |
| 417 | *node_ref = node = newnode; |
| 418 | defragged++; |
| 419 | } |
| 420 | if ((newzl = activeDefragAlloc(node->zl))) |
| 421 | defragged++, node->zl = newzl; |
| 422 | return defragged; |
| 423 | } |
| 424 | |
| 425 | long activeDefragQuickListNodes(quicklist *ql) { |
| 426 | quicklistNode *node = ql->head; |
no test coverage detected