- size_t i;
-
- for (i = 0; i < n; i++) {
- if (!strcmp(keys[i], key)) {
- return values[i];
- }
- }
- return NULL;
+ const struct ovsdb_datum *datum;
+ union ovsdb_atom atom;
+ unsigned int idx;
+
+ datum = ovsdb_idl_get(row, column, OVSDB_TYPE_STRING, OVSDB_TYPE_STRING);
+ atom.string = (char *) key;
+ idx = ovsdb_datum_find_key(datum, &atom, OVSDB_TYPE_STRING);
+ return idx == UINT_MAX ? NULL : datum->values[idx].string;