From 9dd91ef3e8c0b7aaf2f0869828da0d86068bfc31 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Nov 20 2012 17:04:22 +0000 Subject: SYSDB: Use the add_string convenience functions for managing ghost user attribute Using the convenience function instead of low-level ldb calls makes the code more compact and more readable. --- diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 52f0cef..8b624a3 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -1046,24 +1046,13 @@ int sysdb_add_user(struct sysdb_ctx *sysdb, } msg->dn = groups[i]->dn; - ret = ldb_msg_add_empty(msg, SYSDB_MEMBER, SYSDB_MOD_ADD, NULL); - if (ret != LDB_SUCCESS) { - ERROR_OUT(ret, ENOMEM, done); - } - ret = ldb_msg_add_string(msg, SYSDB_MEMBER, userdn); - if (ret != LDB_SUCCESS) { - ERROR_OUT(ret, EINVAL, done); - } + ret = add_string(msg, LDB_FLAG_MOD_ADD, SYSDB_MEMBER, userdn); + if (ret) goto done; + + ret = add_string(msg, LDB_FLAG_MOD_DELETE, SYSDB_GHOST, name); + if (ret) goto done; - ret = ldb_msg_add_empty(msg, SYSDB_GHOST, SYSDB_MOD_DEL, NULL); - if (ret != LDB_SUCCESS) { - ERROR_OUT(ret, ENOMEM, done); - } - ret = ldb_msg_add_string(msg, SYSDB_GHOST, name); - if (ret != LDB_SUCCESS) { - ERROR_OUT(ret, EINVAL, done); - } /* Delete aliases from the ghost attribute as well */ for (j = 0; j < alias_el->num_values; j++) { ret = ldb_msg_add_string(msg, SYSDB_GHOST, @@ -2332,14 +2321,10 @@ int sysdb_delete_user(struct sysdb_ctx *sysdb, } msg->dn = msgs[i]->dn; - ret = ldb_msg_add_empty(msg, SYSDB_GHOST, SYSDB_MOD_DEL, NULL); - if (ret != LDB_SUCCESS) { - ERROR_OUT(ret, ENOMEM, fail); - } - ret = ldb_msg_add_string(msg, SYSDB_GHOST, name); - if (ret != LDB_SUCCESS) { - ERROR_OUT(ret, EINVAL, fail); - } + + ret = add_string(msg, LDB_FLAG_MOD_DELETE, SYSDB_GHOST, name); + if (ret) goto fail; + ret = ldb_modify(sysdb->ldb, msg); ret = sysdb_error_to_errno(ret); if (ret != EOK) {