From ea0098724efbd64a06b3103d19bb5f711f6f3cd7 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Thu, 9 Apr 2015 12:57:21 +0000 Subject: 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 --- res/res_pjsip_exten_state.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'res/res_pjsip_exten_state.c') 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; -- cgit v1.2.3