summaryrefslogtreecommitdiff
path: root/res/res_pjsip_exten_state.c
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2015-04-09 12:57:21 +0000
committerMatthew Jordan <mjordan@digium.com>2015-04-09 12:57:21 +0000
commitea0098724efbd64a06b3103d19bb5f711f6f3cd7 (patch)
tree80ffc2e721dd3fde80fa9ef914a5f523fdfb3df1 /res/res_pjsip_exten_state.c
parent2201e2734077c07648029f165d1a6a89f99e07c0 (diff)
clang compiler warnings: Fix autological comparisons
This fixes autological comparison warnings in the following: * chan_skinny: letohl may return a signed or unsigned value, depending on the macro chosen * func_curl: Provide a specific cast to CURLoption to prevent mismatch * cel: Fix enum comparisons where the enum can never be negative * enum: Fix comparison of return result of dn_expand, which returns a signed int value * event: Fix enum comparisons where the enum can never be negative * indications: tone_data.freq1 and freq2 are unsigned, and hence can never be negative * presencestate: Use the actual enum value for INVALID state * security_events: Fix enum comparisons where the enum can never be negative * udptl: Don't bother to check if the return value from encode_length is less than 0, as it returns an unsigned int * translate: Since the parameters are unsigned int, don't bother checking to see if they are negative. The cast to unsigned int would already blow past the matrix bounds. * res_pjsip_exten_state: Use a temporary value to cache the return of ast_hint_presence_state * res_stasis_playback: Fix enum comparisons where the enum can never be negative * res_stasis_recording: Add an enum value for the case where the recording operation is in error; fix enum comparisons * resource_bridges: Use enum value as opposed to -1 * resource_channels: Use enum value as opposed to -1 Review: https://reviewboard.asterisk.org/r/4533 ASTERISK-24917 Reported by: dkdegroot patches: rb4533.patch submitted by dkdegroot (License 6600) ........ Merged revisions 434469 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 434470 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pjsip_exten_state.c')
-rw-r--r--res/res_pjsip_exten_state.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/res/res_pjsip_exten_state.c b/res/res_pjsip_exten_state.c
index 45bfff605..da9b133f9 100644
--- a/res/res_pjsip_exten_state.c
+++ b/res/res_pjsip_exten_state.c
@@ -401,6 +401,7 @@ static struct ast_sip_exten_state_data *exten_state_data_alloc(struct ast_sip_su
struct ast_sip_exten_state_data *exten_state_data;
char *subtype = NULL;
char *message = NULL;
+ int presence_state;
exten_state_data = ao2_alloc(sizeof(*exten_state_data), exten_state_data_destructor);
if (!exten_state_data) {
@@ -408,11 +409,12 @@ static struct ast_sip_exten_state_data *exten_state_data_alloc(struct ast_sip_su
}
exten_state_data->exten = exten_state_sub->exten;
- if ((exten_state_data->presence_state = ast_hint_presence_state(NULL, exten_state_sub->context,
- exten_state_sub->exten, &subtype, &message)) == -1) {
+ presence_state = ast_hint_presence_state(NULL, exten_state_sub->context, exten_state_sub->exten, &subtype, &message);
+ if (presence_state == -1 || presence_state == AST_PRESENCE_INVALID) {
ao2_cleanup(exten_state_data);
return NULL;
}
+ exten_state_data->presence_state = presence_state;
exten_state_data->presence_subtype = subtype;
exten_state_data->presence_message = message;
exten_state_data->user_agent = exten_state_sub->user_agent;