diff options
author | Ivan Poddubny <ivan.poddubny@gmail.com> | 2015-10-07 09:24:31 +0300 |
---|---|---|
committer | Ivan Poddubny <ivan.poddubny@gmail.com> | 2015-10-07 09:24:31 +0300 |
commit | c944263e3688ab257aaf98980190f359b61d31f7 (patch) | |
tree | 2020afe06a87601adc0fc0d8a4c912ce293eaa6e /funcs/func_presencestate.c | |
parent | 4bf395e81e91f12809ef9900ef6716d4cb1a2fd5 (diff) |
func_presencestate: Return "not_set" when no data is set in AstDB
Return AST_PRESENCE_NOT_SET when CustomPresence AstDB key does not
exist, i.e. when a new CustomPresence is added in the dialplan.
ASTERISK-25400 #close
Reported by: Andrew Nagy
Change-Id: I6fb17b16591b5a55fbffe96f3994ec26b1b1723a
Diffstat (limited to 'funcs/func_presencestate.c')
-rw-r--r-- | funcs/func_presencestate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/funcs/func_presencestate.c b/funcs/func_presencestate.c index 775c7dc79..d7d6b2439 100644 --- a/funcs/func_presencestate.c +++ b/funcs/func_presencestate.c @@ -255,7 +255,9 @@ static enum ast_presence_state custom_presence_callback(const char *data, char * char *_message; char *_subtype; - ast_db_get(astdb_family, data, buf, sizeof(buf)); + if (ast_db_get(astdb_family, data, buf, sizeof(buf))) { + return AST_PRESENCE_NOT_SET; + } if (parse_data(buf, &state, &_subtype, &_message, &_options)) { return AST_PRESENCE_INVALID; |