in src/oslogin_utils.cc [551:576]
bool ParseJsonToUsers(const string& json, std::vector<string>* result) {
bool ret = false;
json_object* root = ParseJsonRoot(json);
if (root == NULL) {
return ret;
}
json_object* users = NULL;
if (!json_object_object_get_ex(root, "usernames", &users)) {
ret = true; // means no users, not invalid.
goto cleanup;
}
if (json_object_get_type(users) != json_type_array) {
goto cleanup;
}
for (int idx=0; idx < (int)json_object_array_length(users); idx++) {
json_object* user = json_object_array_get_idx(users, idx);
const char* username = json_object_get_string(user);
result->push_back(string(username));
}
ret = true;
cleanup:
json_object_put(root);
return ret;
}