summaryrefslogtreecommitdiffstats
path: root/src/kim
diff options
context:
space:
mode:
authorAlexandra Ellwood <lxs@mit.edu>2008-10-09 17:49:23 +0000
committerAlexandra Ellwood <lxs@mit.edu>2008-10-09 17:49:23 +0000
commit599a2fa44ec8d00eb632d6063220b43fb2455a52 (patch)
tree75322b29d2c8182916afe525173f56f56ad89c9f /src/kim
parentfece1c9a779cc96dece0c92e7447b4503f23473d (diff)
downloadkrb5-599a2fa44ec8d00eb632d6063220b43fb2455a52.tar.gz
krb5-599a2fa44ec8d00eb632d6063220b43fb2455a52.tar.xz
krb5-599a2fa44ec8d00eb632d6063220b43fb2455a52.zip
kim_options_create sometimes returns KIM_OPTIONS_DEFAULT
ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20853 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kim')
-rw-r--r--src/kim/lib/kim_options.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/kim/lib/kim_options.c b/src/kim/lib/kim_options.c
index 08f1ddb6f..5d7e58ae5 100644
--- a/src/kim/lib/kim_options.c
+++ b/src/kim/lib/kim_options.c
@@ -91,6 +91,7 @@ kim_error kim_options_create (kim_options *out_options)
{
kim_error err = KIM_NO_ERROR;
kim_preferences preferences = NULL;
+ kim_options options = KIM_OPTIONS_DEFAULT;
if (!err && !out_options) { err = check_error (KIM_NULL_PARAMETER_ERR); }
@@ -99,9 +100,19 @@ kim_error kim_options_create (kim_options *out_options)
}
if (!err) {
- err = kim_preferences_get_options (preferences, out_options);
+ err = kim_preferences_get_options (preferences, &options);
}
+ if (!err && !options) {
+ err = kim_options_allocate (&options);
+ }
+
+ if (!err) {
+ *out_options = options;
+ options = NULL; /* caller takes ownership */
+ }
+
+ kim_options_free (&options);
kim_preferences_free (&preferences);
return check_error (err);