From ce59fabd5c01a48b8f4fcd1d7522aef9f3fbe66d Mon Sep 17 00:00:00 2001 From: Matthew Jordan <mjordan@digium.com> Date: Mon, 30 Mar 2015 02:39:57 +0000 Subject: [PATCH] clang compiler warnings: Fix invalid enum conversion This patch fixes some invalid enum conversion warnings caught by clang. In particular: * chan_sip: Several functions mixed usage of the st_refresher_param enum and st_refresher enum. This patch corrects the functions to use the right enum. * chan_pjsip: Fixed mixed usage of ast_sip_session_t38state and ast_t38_state. * strings: Fixed incorrect usage of AO2 flags with strings container. * res_stasis: Change a return enumeration to stasis_app_user_event_res. Review: https://reviewboard.asterisk.org/r/4535 ASTERISK-24917 Reported by: dkdegroot patches: rb4535.patch submitted by dkdegroot (License 6600) ........ Merged revisions 433746 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433747 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433748 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_pjsip.c | 2 +- channels/chan_sip.c | 8 ++++---- include/asterisk/strings.h | 3 ++- main/strings.c | 3 ++- res/res_stasis.c | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c index c5eb4e540e..1277d559f8 100644 --- a/channels/chan_pjsip.c +++ b/channels/chan_pjsip.c @@ -919,7 +919,7 @@ static int chan_pjsip_queryoption(struct ast_channel *ast, int option, void *dat struct ast_sip_channel_pvt *channel = ast_channel_tech_pvt(ast); struct ast_sip_session *session = channel->session; int res = -1; - enum ast_sip_session_t38state state = T38_STATE_UNAVAILABLE; + enum ast_t38_state state = T38_STATE_UNAVAILABLE; switch (option) { case AST_OPTION_T38_STATE: diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 97febc0f62..465345b3c9 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1492,7 +1492,7 @@ static int proc_session_timer(const void *vp); static void stop_session_timer(struct sip_pvt *p); static void start_session_timer(struct sip_pvt *p); static void restart_session_timer(struct sip_pvt *p); -static const char *strefresherparam2str(enum st_refresher r); +static const char *strefresherparam2str(enum st_refresher_param r); static int parse_session_expires(const char *p_hdrval, int *const p_interval, enum st_refresher_param *const p_ref); static int parse_minse(const char *p_hdrval, int *const p_interval); static int st_get_se(struct sip_pvt *, int max); @@ -19089,12 +19089,12 @@ static const struct _map_x_s strefreshers[] = { { -1, NULL }, }; -static const char *strefresherparam2str(enum st_refresher r) +static const char *strefresherparam2str(enum st_refresher_param r) { return map_x_s(strefresher_params, r, "Unknown"); } -static enum st_refresher str2strefresherparam(const char *s) +static enum st_refresher_param str2strefresherparam(const char *s) { return map_s_x(strefresher_params, s, -1); } @@ -21539,7 +21539,7 @@ static char *sip_show_channel(struct ast_cli_entry *e, int cmd, struct ast_cli_a ast_cli(a->fd, " S-Timer Peer Sts: %s\n", cur->stimer->st_active_peer_ua ? "Active" : "Inactive"); ast_cli(a->fd, " S-Timer Cached Min-SE: %d\n", cur->stimer->st_cached_min_se); ast_cli(a->fd, " S-Timer Cached SE: %d\n", cur->stimer->st_cached_max_se); - ast_cli(a->fd, " S-Timer Cached Ref: %s\n", strefresherparam2str(cur->stimer->st_cached_ref)); + ast_cli(a->fd, " S-Timer Cached Ref: %s\n", strefresher2str(cur->stimer->st_cached_ref)); ast_cli(a->fd, " S-Timer Cached Mode: %s\n", stmode2str(cur->stimer->st_cached_mode)); } } diff --git a/include/asterisk/strings.h b/include/asterisk/strings.h index 79a2e49c8c..7af92affc8 100644 --- a/include/asterisk/strings.h +++ b/include/asterisk/strings.h @@ -1233,7 +1233,8 @@ static force_inline char *attribute_pure ast_str_to_upper(char *str) * \retval AO2 container for strings * \retval NULL if allocation failed */ -struct ao2_container *ast_str_container_alloc_options(enum ao2_container_opts opts, int buckets); +//struct ao2_container *ast_str_container_alloc_options(enum ao2_container_opts opts, int buckets); +struct ao2_container *ast_str_container_alloc_options(enum ao2_alloc_opts opts, int buckets); /*! * \since 12 diff --git a/main/strings.c b/main/strings.c index b6b9fbcd71..da63cdfc06 100644 --- a/main/strings.c +++ b/main/strings.c @@ -167,7 +167,8 @@ static int str_cmp(void *lhs, void *rhs, int flags) return strcmp(lhs, rhs) ? 0 : CMP_MATCH; } -struct ao2_container *ast_str_container_alloc_options(enum ao2_container_opts opts, int buckets) +//struct ao2_container *ast_str_container_alloc_options(enum ao2_container_opts opts, int buckets) +struct ao2_container *ast_str_container_alloc_options(enum ao2_alloc_opts opts, int buckets) { return ao2_container_alloc_options(opts, buckets, str_hash, str_cmp); } diff --git a/res/res_stasis.c b/res/res_stasis.c index 6794adedb4..095e2b313f 100644 --- a/res/res_stasis.c +++ b/res/res_stasis.c @@ -1800,7 +1800,7 @@ enum stasis_app_user_event_res stasis_app_user_event(const char *app_name, RAII_VAR(struct ast_multi_object_blob *, multi, NULL, ao2_cleanup); RAII_VAR(void *, obj, NULL, ao2_cleanup); RAII_VAR(struct stasis_message *, message, NULL, ao2_cleanup); - enum stasis_app_subscribe_res res = STASIS_APP_USER_INTERNAL_ERROR; + enum stasis_app_user_event_res res = STASIS_APP_USER_INTERNAL_ERROR; struct ast_json *json_value; int have_channel = 0; int i; -- GitLab