[Bug/Feature] bug reading array from kvstore
[Cause] N/A
[Solution] don't use json object, set json object to null
[Verification] Build, install
Change-Id: I6760075039e0fbae173e7329fbd14721f2710664
std::string k = key(mKeyPrefix, name);
int length = getArraySize(k, object);
if (length < 0) {
std::string k = key(mKeyPrefix, name);
int length = getArraySize(k, object);
if (length < 0) {
- throw ConfigException("Missing json field " + key(mKeyPrefix, name));
+ throw ConfigException("Missing array length " + k);
}
value.resize(static_cast<size_t>(length));
FromKVJsonVisitor visitor(*this, name, false);
}
value.resize(static_cast<size_t>(length));
FromKVJsonVisitor visitor(*this, name, false);
+ if (mStorePtr->exists(k)) {
+ visitor.mObject = nullptr;
+ }
for (int i = 0; i < length; ++i) {
visitor.getValue(i, value[i]);
}
for (int i = 0; i < length; ++i) {
visitor.getValue(i, value[i]);
}
int length = getArraySize(k, mObject);
value.resize(static_cast<size_t>(length));
FromKVJsonVisitor visitor(*this, i, false);
int length = getArraySize(k, mObject);
value.resize(static_cast<size_t>(length));
FromKVJsonVisitor visitor(*this, i, false);
+ if (mStorePtr->exists(k)) {
+ visitor.mObject = nullptr;
+ }
for (int i = 0; i < length; ++i) {
visitor.getValue(i, value[i]);
}
for (int i = 0; i < length; ++i) {
visitor.getValue(i, value[i]);
}