Lines Matching refs:p
163 unsigned char *p; member
170 (zle)->p = NULL; \
198 static unsigned int zipEncodeLength(unsigned char *p, unsigned char encoding, unsigned int rawlen) { in zipEncodeLength() argument
205 if (!p) return len; in zipEncodeLength()
209 if (!p) return len; in zipEncodeLength()
214 if (!p) return len; in zipEncodeLength()
223 if (!p) return len; in zipEncodeLength()
228 memcpy(p,buf,len); in zipEncodeLength()
262 static unsigned int zipPrevEncodeLength(unsigned char *p, unsigned int len) { in zipPrevEncodeLength() argument
263 if (p == NULL) { in zipPrevEncodeLength()
267 p[0] = len; in zipPrevEncodeLength()
270 p[0] = ZIP_BIGLEN; in zipPrevEncodeLength()
271 memcpy(p+1,&len,sizeof(len)); in zipPrevEncodeLength()
272 memrev32ifbe(p+1); in zipPrevEncodeLength()
280 static void zipPrevEncodeLengthForceLarge(unsigned char *p, unsigned int len) { in zipPrevEncodeLengthForceLarge() argument
281 if (p == NULL) return; in zipPrevEncodeLengthForceLarge()
282 p[0] = ZIP_BIGLEN; in zipPrevEncodeLengthForceLarge()
283 memcpy(p+1,&len,sizeof(len)); in zipPrevEncodeLengthForceLarge()
284 memrev32ifbe(p+1); in zipPrevEncodeLengthForceLarge()
312 static int zipPrevLenByteDiff(unsigned char *p, unsigned int len) { in zipPrevLenByteDiff() argument
314 ZIP_DECODE_PREVLENSIZE(p, prevlensize); in zipPrevLenByteDiff()
319 static unsigned int zipRawEntryLength(unsigned char *p) { in zipRawEntryLength() argument
321 ZIP_DECODE_PREVLENSIZE(p, prevlensize); in zipRawEntryLength()
322 ZIP_DECODE_LENGTH(p + prevlensize, encoding, lensize, len); in zipRawEntryLength()
355 static void zipSaveInteger(unsigned char *p, int64_t value, unsigned char encoding) { in zipSaveInteger() argument
360 ((int8_t*)p)[0] = (int8_t)value; in zipSaveInteger()
363 memcpy(p,&i16,sizeof(i16)); in zipSaveInteger()
364 memrev16ifbe(p); in zipSaveInteger()
368 memcpy(p,((uint8_t*)&i32)+1,sizeof(i32)-sizeof(uint8_t)); in zipSaveInteger()
371 memcpy(p,&i32,sizeof(i32)); in zipSaveInteger()
372 memrev32ifbe(p); in zipSaveInteger()
375 memcpy(p,&i64,sizeof(i64)); in zipSaveInteger()
376 memrev64ifbe(p); in zipSaveInteger()
385 static int64_t zipLoadInteger(unsigned char *p, unsigned char encoding) { in zipLoadInteger() argument
390 ret = ((int8_t*)p)[0]; in zipLoadInteger()
392 memcpy(&i16,p,sizeof(i16)); in zipLoadInteger()
396 memcpy(&i32,p,sizeof(i32)); in zipLoadInteger()
401 memcpy(((uint8_t*)&i32)+1,p,sizeof(i32)-sizeof(uint8_t)); in zipLoadInteger()
405 memcpy(&i64,p,sizeof(i64)); in zipLoadInteger()
417 static void zipEntry(unsigned char *p, zlentry *e) { in zipEntry() argument
419 ZIP_DECODE_PREVLEN(p, e->prevrawlensize, e->prevrawlen); in zipEntry()
420 ZIP_DECODE_LENGTH(p + e->prevrawlensize, e->encoding, e->lensize, e->len); in zipEntry()
422 e->p = p; in zipEntry()
464 static unsigned char *__ziplistCascadeUpdate(unsigned char *zl, unsigned char *p) { in __ziplistCascadeUpdate() argument
470 while (p[0] != ZIP_END) { in __ziplistCascadeUpdate()
471 zipEntry(p, &cur); in __ziplistCascadeUpdate()
476 if (p[rawlen] == ZIP_END) break; in __ziplistCascadeUpdate()
477 zipEntry(p+rawlen, &next); in __ziplistCascadeUpdate()
485 offset = p-zl; in __ziplistCascadeUpdate()
488 p = zl+offset; in __ziplistCascadeUpdate()
491 np = p+rawlen; in __ziplistCascadeUpdate()
507 p += rawlen; in __ziplistCascadeUpdate()
513 zipPrevEncodeLengthForceLarge(p+rawlen,rawlen); in __ziplistCascadeUpdate()
515 zipPrevEncodeLength(p+rawlen,rawlen); in __ziplistCascadeUpdate()
526 static unsigned char *__ziplistDelete(unsigned char *zl, unsigned char *p, unsigned int num) { in __ziplistDelete() argument
532 zipEntry(p, &first); in __ziplistDelete()
533 for (i = 0; p[0] != ZIP_END && i < num; i++) { in __ziplistDelete()
534 p += zipRawEntryLength(p); in __ziplistDelete()
538 totlen = p-first.p; in __ziplistDelete()
540 if (p[0] != ZIP_END) { in __ziplistDelete()
545 nextdiff = zipPrevLenByteDiff(p,first.prevrawlen); in __ziplistDelete()
546 p -= nextdiff; in __ziplistDelete()
547 zipPrevEncodeLength(p,first.prevrawlen); in __ziplistDelete()
556 zipEntry(p, &tail); in __ziplistDelete()
557 if (p[tail.headersize+tail.len] != ZIP_END) { in __ziplistDelete()
563 memmove(first.p,p, in __ziplistDelete()
564 intrev32ifbe(ZIPLIST_BYTES(zl))-(p-zl)-1); in __ziplistDelete()
568 intrev32ifbe((first.p-zl)-first.prevrawlen); in __ziplistDelete()
572 offset = first.p-zl; in __ziplistDelete()
575 p = zl+offset; in __ziplistDelete()
580 zl = __ziplistCascadeUpdate(zl,p); in __ziplistDelete()
586 static unsigned char *__ziplistInsert(unsigned char *zl, unsigned char *p, unsigned char *s, unsign… in __ziplistInsert() argument
598 if (p[0] != ZIP_END) { in __ziplistInsert()
599 ZIP_DECODE_PREVLEN(p, prevlensize, prevlen); in __ziplistInsert()
624 nextdiff = (p[0] != ZIP_END) ? zipPrevLenByteDiff(p,reqlen) : 0; in __ziplistInsert()
627 offset = p-zl; in __ziplistInsert()
629 p = zl+offset; in __ziplistInsert()
632 if (p[0] != ZIP_END) { in __ziplistInsert()
634 memmove(p+reqlen,p-nextdiff,curlen-offset-1+nextdiff); in __ziplistInsert()
637 zipPrevEncodeLength(p+reqlen,reqlen); in __ziplistInsert()
646 zipEntry(p+reqlen, &tail); in __ziplistInsert()
647 if (p[reqlen+tail.headersize+tail.len] != ZIP_END) { in __ziplistInsert()
653 ZIPLIST_TAIL_OFFSET(zl) = intrev32ifbe(p-zl); in __ziplistInsert()
659 offset = p-zl; in __ziplistInsert()
660 zl = __ziplistCascadeUpdate(zl,p+reqlen); in __ziplistInsert()
661 p = zl+offset; in __ziplistInsert()
665 p += zipPrevEncodeLength(p,prevlen); in __ziplistInsert()
666 p += zipEncodeLength(p,encoding,slen); in __ziplistInsert()
668 memcpy(p,s,slen); in __ziplistInsert()
670 zipSaveInteger(p,value,encoding); in __ziplistInsert()
792 unsigned char *p; in ziplistPush() local
793 p = (where == ZIPLIST_HEAD) ? ZIPLIST_ENTRY_HEAD(zl) : ZIPLIST_ENTRY_END(zl); in ziplistPush()
794 return __ziplistInsert(zl,p,s,slen); in ziplistPush()
801 unsigned char *p; in ziplistIndex() local
805 p = ZIPLIST_ENTRY_TAIL(zl); in ziplistIndex()
806 if (p[0] != ZIP_END) { in ziplistIndex()
807 ZIP_DECODE_PREVLEN(p, prevlensize, prevlen); in ziplistIndex()
809 p -= prevlen; in ziplistIndex()
810 ZIP_DECODE_PREVLEN(p, prevlensize, prevlen); in ziplistIndex()
814 p = ZIPLIST_ENTRY_HEAD(zl); in ziplistIndex()
815 while (p[0] != ZIP_END && index--) { in ziplistIndex()
816 p += zipRawEntryLength(p); in ziplistIndex()
819 return (p[0] == ZIP_END || index > 0) ? NULL : p; in ziplistIndex()
828 unsigned char *ziplistNext(unsigned char *zl, unsigned char *p) { in ziplistNext() argument
834 if (p[0] == ZIP_END) { in ziplistNext()
838 p += zipRawEntryLength(p); in ziplistNext()
839 if (p[0] == ZIP_END) { in ziplistNext()
843 return p; in ziplistNext()
847 unsigned char *ziplistPrev(unsigned char *zl, unsigned char *p) { in ziplistPrev() argument
853 if (p[0] == ZIP_END) { in ziplistPrev()
854 p = ZIPLIST_ENTRY_TAIL(zl); in ziplistPrev()
855 return (p[0] == ZIP_END) ? NULL : p; in ziplistPrev()
856 } else if (p == ZIPLIST_ENTRY_HEAD(zl)) { in ziplistPrev()
859 ZIP_DECODE_PREVLEN(p, prevlensize, prevlen); in ziplistPrev()
861 return p-prevlen; in ziplistPrev()
869 unsigned int ziplistGet(unsigned char *p, unsigned char **sstr, unsigned int *slen, long long *sval… in ziplistGet() argument
871 if (p == NULL || p[0] == ZIP_END) return 0; in ziplistGet()
874 zipEntry(p, &entry); in ziplistGet()
878 *sstr = p+entry.headersize; in ziplistGet()
882 *sval = zipLoadInteger(p+entry.headersize,entry.encoding); in ziplistGet()
889 unsigned char *ziplistInsert(unsigned char *zl, unsigned char *p, unsigned char *s, unsigned int sl… in ziplistInsert() argument
890 return __ziplistInsert(zl,p,s,slen); in ziplistInsert()
896 unsigned char *ziplistDelete(unsigned char *zl, unsigned char **p) { in ziplistDelete() argument
897 size_t offset = *p-zl; in ziplistDelete()
898 zl = __ziplistDelete(zl,*p,1); in ziplistDelete()
904 *p = zl+offset; in ziplistDelete()
910 unsigned char *p = ziplistIndex(zl,index); in ziplistDeleteRange() local
911 return (p == NULL) ? zl : __ziplistDelete(zl,p,num); in ziplistDeleteRange()
916 unsigned int ziplistCompare(unsigned char *p, unsigned char *sstr, unsigned int slen) { in ziplistCompare() argument
920 if (p[0] == ZIP_END) return 0; in ziplistCompare()
922 zipEntry(p, &entry); in ziplistCompare()
926 return memcmp(p+entry.headersize,sstr,slen) == 0; in ziplistCompare()
934 zval = zipLoadInteger(p+entry.headersize,entry.encoding); in ziplistCompare()
943 unsigned char *ziplistFind(unsigned char *p, unsigned char *vstr, unsigned int vlen, unsigned int s… in ziplistFind() argument
948 while (p[0] != ZIP_END) { in ziplistFind()
952 ZIP_DECODE_PREVLENSIZE(p, prevlensize); in ziplistFind()
953 ZIP_DECODE_LENGTH(p + prevlensize, encoding, lensize, len); in ziplistFind()
954 q = p + prevlensize + lensize; in ziplistFind()
960 return p; in ziplistFind()
983 return p; in ziplistFind()
996 p = q + len; in ziplistFind()
1008 unsigned char *p = zl+ZIPLIST_HEADER_SIZE; in ziplistLen() local
1009 while (*p != ZIP_END) { in ziplistLen()
1010 p += zipRawEntryLength(p); in ziplistLen()
1026 unsigned char *p; in ziplistRepr() local
1037 p = ZIPLIST_ENTRY_HEAD(zl); in ziplistRepr()
1038 while(*p != ZIP_END) { in ziplistRepr()
1039 zipEntry(p, &entry); in ziplistRepr()
1051 (long unsigned)p, in ziplistRepr()
1053 (unsigned long) (p-zl), in ziplistRepr()
1059 p += entry.headersize; in ziplistRepr()
1062 if (fwrite(p,40,1,stdout) == 0) perror("fwrite"); in ziplistRepr()
1066 fwrite(p,entry.len,1,stdout) == 0) perror("fwrite"); in ziplistRepr()
1069 printf("%lld", (long long) zipLoadInteger(p,entry.encoding)); in ziplistRepr()
1072 p += entry.len; in ziplistRepr()
1143 unsigned char *p, *vstr; in pop() local
1147 p = ziplistIndex(zl,where == ZIPLIST_HEAD ? 0 : -1); in pop()
1148 if (ziplistGet(p,&vstr,&vlen,&vlong)) { in pop()
1162 return ziplistDelete(zl,&p); in pop()
1170 int p = 0; in randstring() local
1190 while(p < len) in randstring()
1191 target[p++] = minval+rand()%(maxval-minval+1); in randstring()
1213 unsigned char *zl, *p; in ziplistTest() local
1247 p = ziplistIndex(zl, 3); in ziplistTest()
1248 if (!ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1265 p = ziplistIndex(zl, 4); in ziplistTest()
1266 if (p == NULL) { in ziplistTest()
1269 printf("ERROR: Out of range index should return NULL, returned offset: %ld\n", p-zl); in ziplistTest()
1279 p = ziplistIndex(zl, -1); in ziplistTest()
1280 if (!ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1297 p = ziplistIndex(zl, -4); in ziplistTest()
1298 if (!ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1315 p = ziplistIndex(zl, -5); in ziplistTest()
1316 if (p == NULL) { in ziplistTest()
1319 printf("ERROR: Out of range index should return NULL, returned offset: %ld\n", p-zl); in ziplistTest()
1329 p = ziplistIndex(zl, 0); in ziplistTest()
1330 while (ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1337 p = ziplistNext(zl,p); in ziplistTest()
1347 p = ziplistIndex(zl, 1); in ziplistTest()
1348 while (ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1355 p = ziplistNext(zl,p); in ziplistTest()
1365 p = ziplistIndex(zl, 2); in ziplistTest()
1366 while (ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1373 p = ziplistNext(zl,p); in ziplistTest()
1383 p = ziplistIndex(zl, 4); in ziplistTest()
1384 if (!ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1396 p = ziplistIndex(zl, -1); in ziplistTest()
1397 while (ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1404 p = ziplistPrev(zl,p); in ziplistTest()
1414 p = ziplistIndex(zl, -1); in ziplistTest()
1415 while (ziplistGet(p, &entry, &elen, &value)) { in ziplistTest()
1422 zl = ziplistDelete(zl,&p); in ziplistTest()
1423 p = ziplistPrev(zl,p); in ziplistTest()
1473 p = ziplistIndex(zl,0); in ziplistTest()
1474 while (ziplistGet(p,&entry,&elen,&value)) { in ziplistTest()
1477 zl = ziplistDelete(zl,&p); in ziplistTest()
1486 p = ziplistNext(zl,p); in ziplistTest()
1505 p = ziplistIndex(zl,0); in ziplistTest()
1506 assert(ziplistGet(p,&entry,&elen,&value)); in ziplistTest()
1508 p = ziplistIndex(zl,1); in ziplistTest()
1509 assert(ziplistGet(p,&entry,&elen,&value)); in ziplistTest()
1519 .len = 0, .headersize = 0, .encoding = 0, .p = NULL}}; in ziplistTest()
1542 unsigned char *p = e[1].p; in ziplistTest() local
1543 zl = ziplistDelete(zl, &p); in ziplistTest()
1564 p = ziplistIndex(zl,i); in ziplistTest()
1565 assert(ziplistGet(p,NULL,NULL,&value)); in ziplistTest()
1568 p = ziplistIndex(zl,-i-1); in ziplistTest()
1569 assert(ziplistGet(p,NULL,NULL,&value)); in ziplistTest()
1579 p = ziplistIndex(zl,0); in ziplistTest()
1580 if (!ziplistCompare(p,(unsigned char*)"hello",5)) { in ziplistTest()
1584 if (ziplistCompare(p,(unsigned char*)"hella",5)) { in ziplistTest()
1589 p = ziplistIndex(zl,3); in ziplistTest()
1590 if (!ziplistCompare(p,(unsigned char*)"1024",4)) { in ziplistTest()
1594 if (ziplistCompare(p,(unsigned char*)"1025",4)) { in ziplistTest()
1634 p = ziplistIndex(zl2,0); in ziplistTest()
1635 if (!ziplistCompare(p,(unsigned char*)"hello",5)) { in ziplistTest()
1639 if (ziplistCompare(p,(unsigned char*)"hella",5)) { in ziplistTest()
1644 p = ziplistIndex(zl2,3); in ziplistTest()
1645 if (!ziplistCompare(p,(unsigned char*)"1024",4)) { in ziplistTest()
1649 if (ziplistCompare(p,(unsigned char*)"1025",4)) { in ziplistTest()
1654 p = ziplistIndex(zl2,4); in ziplistTest()
1655 if (!ziplistCompare(p,(unsigned char*)"hello",5)) { in ziplistTest()
1659 if (ziplistCompare(p,(unsigned char*)"hella",5)) { in ziplistTest()
1664 p = ziplistIndex(zl2,7); in ziplistTest()
1665 if (!ziplistCompare(p,(unsigned char*)"1024",4)) { in ziplistTest()
1669 if (ziplistCompare(p,(unsigned char*)"1025",4)) { in ziplistTest()
1680 unsigned char *p; in ziplistTest() local
1735 p = ziplistIndex(zl,j); in ziplistTest()
1738 assert(ziplistGet(p,&sstr,&slen,&sval)); in ziplistTest()