[Freeswitch-svn] [commit] r4185 - in freeswitch/trunk/src: . mod/say/mod_say_en
Freeswitch SVN
anthm at freeswitch.org
Fri Feb 9 16:48:24 EST 2007
Author: anthm
Date: Fri Feb 9 16:48:24 2007
New Revision: 4185
Modified:
freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c
freeswitch/trunk/src/switch_ivr.c
Log:
phrase update
Modified: freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c Fri Feb 9 16:48:24 2007
@@ -46,8 +46,11 @@
#define say_file(...) {\
char tmp[80];\
+ switch_status_t status;\
snprintf(tmp, sizeof(tmp), __VA_ARGS__);\
- switch_ivr_play_file(session, NULL, tmp, args); \
+ if ((status = switch_ivr_play_file(session, NULL, tmp, args)) != SWITCH_STATUS_SUCCESS){ \
+ return status;\
+ }\
if (!switch_channel_ready(switch_core_session_get_channel(session))) {\
return SWITCH_STATUS_FALSE;\
}}\
@@ -540,10 +543,10 @@
}
if (say_cb) {
- say_cb(session, tosay, type, method, args);
+ return say_cb(session, tosay, type, method, args);
}
- return SWITCH_STATUS_SUCCESS;
+ return SWITCH_STATUS_FALSE;
}
static const switch_say_interface_t en_say_interface= {
Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c (original)
+++ freeswitch/trunk/src/switch_ivr.c Fri Feb 9 16:48:24 2007
@@ -4697,7 +4697,8 @@
}
if (match) {
- for (action = switch_xml_child(match, "action"); action; action = action->next) {
+ status = SWITCH_STATUS_SUCCESS;
+ for (action = switch_xml_child(match, "action"); action && status == SWITCH_STATUS_SUCCESS; action = action->next) {
char *adata = (char *) switch_xml_attr_soft(action, "data");
char *func = (char *) switch_xml_attr_soft(action, "function");
@@ -4739,7 +4740,7 @@
char *say_type = (char *) switch_xml_attr_soft(action, "type");
char *say_method = (char *) switch_xml_attr_soft(action, "method");
- si->say_function(session, odata, get_say_type_by_name(say_type), get_say_method_by_name(say_method), args);
+ status = si->say_function(session, odata, get_say_type_by_name(say_type), get_say_method_by_name(say_method), args);
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid SAY Interface [%s]!\n", lang);
}
@@ -4747,12 +4748,12 @@
switch_codec_t *read_codec;
if ((read_codec = switch_core_session_get_read_codec(session))) {
- switch_ivr_speak_text(session,
- tts_engine,
- tts_voice,
- read_codec->implementation->samples_per_second,
- odata,
- args);
+ status = switch_ivr_speak_text(session,
+ tts_engine,
+ tts_voice,
+ read_codec->implementation->samples_per_second,
+ odata,
+ args);
}
}
}
@@ -4763,6 +4764,10 @@
switch_safe_free(substituted);
}
+ if (status != SWITCH_STATUS_SUCCESS) {
+ break;
+ }
+
input = input->next;
}
More information about the Freeswitch-svn
mailing list