MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rdbSaveLongLongAsStringObject

Function rdbSaveLongLongAsStringObject

app/redis-6.2.6/src/rdb.c:465–481  ·  view source on GitHub ↗

Save a long long value as either an encoded string or a string. */

Source from the content-addressed store, hash-verified

463
464/* Save a long long value as either an encoded string or a string. */
465ssize_t rdbSaveLongLongAsStringObject(rio *rdb, long long value) {
466 unsigned char buf[32];
467 ssize_t n, nwritten = 0;
468 int enclen = rdbEncodeInteger(value,buf);
469 if (enclen > 0) {
470 return rdbWriteRaw(rdb,buf,enclen);
471 } else {
472 /* Encode as string */
473 enclen = ll2string((char*)buf,32,value);
474 serverAssert(enclen < 32);
475 if ((n = rdbSaveLen(rdb,enclen)) == -1) return -1;
476 nwritten += n;
477 if ((n = rdbWriteRaw(rdb,buf,enclen)) == -1) return -1;
478 nwritten += n;
479 }
480 return nwritten;
481}
482
483/* Like rdbSaveRawString() gets a Redis object instead. */
484ssize_t rdbSaveStringObject(rio *rdb, robj *obj) {

Callers 1

rdbSaveStringObjectFunction · 0.85

Calls 4

rdbEncodeIntegerFunction · 0.85
rdbWriteRawFunction · 0.85
ll2stringFunction · 0.85
rdbSaveLenFunction · 0.85

Tested by

no test coverage detected