Merge pull request #6261 from chendq8/robj
make memory usage consistent of robj with OBJ_ENCODING_INT
This commit is contained in:
commit
f899c31fbc
13
src/object.c
13
src/object.c
@ -467,10 +467,15 @@ robj *tryObjectEncoding(robj *o) {
|
|||||||
incrRefCount(shared.integers[value]);
|
incrRefCount(shared.integers[value]);
|
||||||
return shared.integers[value];
|
return shared.integers[value];
|
||||||
} else {
|
} else {
|
||||||
if (o->encoding == OBJ_ENCODING_RAW) sdsfree(o->ptr);
|
if (o->encoding == OBJ_ENCODING_RAW) {
|
||||||
o->encoding = OBJ_ENCODING_INT;
|
sdsfree(o->ptr);
|
||||||
o->ptr = (void*) value;
|
o->encoding = OBJ_ENCODING_INT;
|
||||||
return o;
|
o->ptr = (void*) value;
|
||||||
|
return o;
|
||||||
|
} else {
|
||||||
|
decrRefCount(o);
|
||||||
|
return createStringObjectFromLongLongForValue(value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user