Free a whole skiplist. */
| 104 | |
| 105 | /* Free a whole skiplist. */ |
| 106 | void zslFree(zskiplist *zsl) { |
| 107 | zskiplistNode *node = zsl->header->level(0)->forward, *next; |
| 108 | |
| 109 | zfree(zsl->header); |
| 110 | while(node) { |
| 111 | next = node->level(0)->forward; |
| 112 | zslFreeNode(node); |
| 113 | node = next; |
| 114 | } |
| 115 | zfree(zsl); |
| 116 | } |
| 117 | |
| 118 | /* Returns a random level for the new skiplist node we are going to create. |
| 119 | * The return value of this function is between 1 and ZSKIPLIST_MAXLEVEL |
no test coverage detected