提交 94d28e0f authored 作者: Michael Jerris's avatar Michael Jerris

FS-8928: flag a bidning error when using EventConsumer::bind with invalid event…

FS-8928: flag a bidning error when using EventConsumer::bind with invalid event name instead of blindly using custom
上级 f5050b1c
...@@ -67,12 +67,15 @@ SWITCH_DECLARE_CONSTRUCTOR EventConsumer::EventConsumer(const char *event_name, ...@@ -67,12 +67,15 @@ SWITCH_DECLARE_CONSTRUCTOR EventConsumer::EventConsumer(const char *event_name,
SWITCH_DECLARE(int) EventConsumer::bind(const char *event_name, const char *subclass_name) SWITCH_DECLARE(int) EventConsumer::bind(const char *event_name, const char *subclass_name)
{ {
switch_event_types_t event_id = SWITCH_EVENT_CUSTOM; switch_event_types_t event_id = SWITCH_EVENT_CUSTOM;
switch_name_event(event_name, &event_id);
if (!ready) { if (!ready) {
return 0; return 0;
} }
if (switch_name_event(event_name, &event_id) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Can't bind to %s, event not found\n", event_name);
return 0;
}
if (zstr(subclass_name)) { if (zstr(subclass_name)) {
subclass_name = NULL; subclass_name = NULL;
...@@ -83,10 +86,10 @@ SWITCH_DECLARE(int) EventConsumer::bind(const char *event_name, const char *subc ...@@ -83,10 +86,10 @@ SWITCH_DECLARE(int) EventConsumer::bind(const char *event_name, const char *subc
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "bound to %s %s\n", event_name, switch_str_nil(subclass_name)); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "bound to %s %s\n", event_name, switch_str_nil(subclass_name));
node_index++; node_index++;
return 1; return 1;
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot bind to %s %s\n", event_name, switch_str_nil(subclass_name));
return 0;
} }
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot bind to %s %s\n", event_name, switch_str_nil(subclass_name));
return 0;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论