Code

store: Test get_field() more extensively and fix a small bug.
[sysdb.git] / src / core / store.c
index 345b5ea86bf2555c42961b4778ccb800743066b7..1eb7ed138435eaa021bd54f1f4f8fca607033e8d 100644 (file)
@@ -898,12 +898,12 @@ sdb_store_get_field(sdb_store_obj_t *obj, int field, sdb_data_t *res)
                        tmp.data.datetime = obj->interval;
                        break;
                case SDB_FIELD_BACKEND:
                        tmp.data.datetime = obj->interval;
                        break;
                case SDB_FIELD_BACKEND:
-               {
+                       if (! res)
+                               return 0;
                        tmp.type = SDB_TYPE_ARRAY | SDB_TYPE_STRING;
                        tmp.data.array.length = obj->backends_num;
                        tmp.data.array.values = obj->backends;
                        return sdb_data_copy(res, &tmp);
                        tmp.type = SDB_TYPE_ARRAY | SDB_TYPE_STRING;
                        tmp.data.array.length = obj->backends_num;
                        tmp.data.array.values = obj->backends;
                        return sdb_data_copy(res, &tmp);
-               }
                default:
                        return -1;
        }
                default:
                        return -1;
        }