diff options
author | Pavel Reichl <preichl@redhat.com> | 2014-06-04 15:25:31 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-06-18 14:11:18 +0200 |
commit | 21fc2ea7d4a9944582ffd4d11500faf4bddae835 (patch) | |
tree | fc2ae2c0f0f3868367b5b054ea2333226a7f1616 /src | |
parent | 4ed403fe53f71059758efc48265f6239393facd0 (diff) | |
download | sssd-21fc2ea7d4a9944582ffd4d11500faf4bddae835.tar.gz sssd-21fc2ea7d4a9944582ffd4d11500faf4bddae835.tar.xz sssd-21fc2ea7d4a9944582ffd4d11500faf4bddae835.zip |
SYSDB: utility call sysdb_attrs_add_lower_case_string
Resolves:
https://fedorahosted.org/sssd/ticket/2056
Reviewed-by: Sumit Bose <sbose@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/db/sysdb.c | 40 | ||||
-rw-r--r-- | src/db/sysdb.h | 2 |
2 files changed, 25 insertions, 17 deletions
diff --git a/src/db/sysdb.c b/src/db/sysdb.c index 12964189a..1bc020db6 100644 --- a/src/db/sysdb.c +++ b/src/db/sysdb.c @@ -547,6 +547,28 @@ int sysdb_attrs_add_string(struct sysdb_attrs *attrs, return sysdb_attrs_add_val(attrs, name, &v); } +int sysdb_attrs_add_lower_case_string(struct sysdb_attrs *attrs, + const char *name, const char *str) +{ + char *lc_str; + int ret; + + if (attrs == NULL || str == NULL) { + return EINVAL; + } + + lc_str = sss_tc_utf8_str_tolower(attrs, str); + if (lc_str == NULL) { + DEBUG(SSSDBG_OP_FAILURE, "Cannot convert name to lowercase.\n"); + return ENOMEM; + } + + ret = sysdb_attrs_add_string(attrs, name, lc_str); + talloc_free(lc_str); + + return ret; +} + int sysdb_attrs_add_mem(struct sysdb_attrs *attrs, const char *name, const void *mem, size_t size) { @@ -656,23 +678,7 @@ int sysdb_attrs_add_time_t(struct sysdb_attrs *attrs, int sysdb_attrs_add_lc_name_alias(struct sysdb_attrs *attrs, const char *value) { - char *lc_str; - int ret; - - if (attrs == NULL || value == NULL) { - return EINVAL; - } - - lc_str = sss_tc_utf8_str_tolower(attrs, value); - if (lc_str == NULL) { - DEBUG(SSSDBG_OP_FAILURE, "Cannot convert name to lowercase\n"); - return ENOMEM; - } - - ret = sysdb_attrs_add_string(attrs, SYSDB_NAME_ALIAS, lc_str); - talloc_free(lc_str); - - return ret; + return sysdb_attrs_add_lower_case_string(attrs, SYSDB_NAME_ALIAS, value); } int sysdb_attrs_copy_values(struct sysdb_attrs *src, diff --git a/src/db/sysdb.h b/src/db/sysdb.h index 671040018..dd14190bf 100644 --- a/src/db/sysdb.h +++ b/src/db/sysdb.h @@ -266,6 +266,8 @@ int sysdb_attrs_add_val(struct sysdb_attrs *attrs, const char *name, const struct ldb_val *val); int sysdb_attrs_add_string(struct sysdb_attrs *attrs, const char *name, const char *str); +int sysdb_attrs_add_lower_case_string(struct sysdb_attrs *attrs, + const char *name, const char *str); int sysdb_attrs_add_mem(struct sysdb_attrs *attrs, const char *name, const void *mem, size_t size); int sysdb_attrs_add_bool(struct sysdb_attrs *attrs, |