Code

store: Don't update unchanged attribute values.
[sysdb.git] / src / core / store.c
index 323ed778b7c52fa76c8d492447781b2920695995..1c04a77cb6a6c1ce252380211ee8bdb9de188309 100644 (file)
@@ -324,7 +324,11 @@ store_attr(sdb_llist_t *attributes, const char *key, const sdb_data_t *value,
        int status;
 
        status = store_obj(attributes, SDB_ATTRIBUTE, key, last_update, &attr);
-       if (status < 0)
+       if (status)
+               return status;
+
+       /* don't update unchanged values */
+       if (! sdb_data_cmp(&ATTR(attr)->value, value))
                return status;
 
        assert(attr);