diff options
| author | Alexandra Ellwood <lxs@mit.edu> | 2008-10-09 17:49:23 +0000 |
|---|---|---|
| committer | Alexandra Ellwood <lxs@mit.edu> | 2008-10-09 17:49:23 +0000 |
| commit | 599a2fa44ec8d00eb632d6063220b43fb2455a52 (patch) | |
| tree | 75322b29d2c8182916afe525173f56f56ad89c9f /src/kim | |
| parent | fece1c9a779cc96dece0c92e7447b4503f23473d (diff) | |
| download | krb5-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.c | 13 |
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); |
