/* 返回p指向結點的後置結點
如果p指向ZIP_END,返回NULL;
如果p是表尾結點,返回NULLL */
unsigned char *ziplistNext(unsigned char *zl, unsigned char *p) {
if (p[0] == ZIP_END) {
return NULL;
}
/* 函數zipRawEntryLength:返回指針p所指向的節點佔用的字節數總和*/
p += zipRawEntryLength(p); /* p指向下一個結點 */
if (p[0] == ZIP_END) { /* 此時p指向表尾,也就是說一開始p指向最後一個結點*/
return NULL;
}
return p;
}