From: Anthony Minessale Date: Tue, 28 Jun 2011 13:25:46 +0000 (-0500) Subject: omit file_string:// prefix if input begins with ~ X-Git-Tag: v1.2-rc1~108^2^2~121 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f12ab59e88a8ef994f136fb023ef7c4a48c87c4f;p=thirdparty%2Ffreeswitch.git omit file_string:// prefix if input begins with ~ --- diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index 31d45d2881..c8bcc1f3d1 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -125,7 +125,9 @@ SWITCH_STANDARD_API(say_string_function) char *lbuf = NULL, *string = NULL; int err = 1, par = 0; char *p, *ext = "wav"; - + char *tosay = NULL; + int strip = 0; + if (cmd) { lbuf = strdup(cmd); } @@ -142,17 +144,25 @@ SWITCH_STANDARD_API(say_string_function) *p++ = '\0'; ext = p; } + + tosay = (argc == 5) ? argv[4] : argv[5]; + + if (*tosay == '~') { + tosay++; + strip++; + } + switch_ivr_say_string(session, argv[1], ext, - (argc == 5) ? argv[4] : argv[5], + tosay, argv[0], argv[2], argv[3], (argc == 6) ? argv[4] : NULL , &string); if (string) { - stream->write_function(stream, "%s", string); + stream->write_function(stream, "%s", strip ? string + 14 : string); free(string); err = 0; } @@ -161,7 +171,7 @@ SWITCH_STANDARD_API(say_string_function) if (err) { stream->write_function(stream, "-ERR Usage: %s\n", SAY_STRING_SYNTAX); } - + free(lbuf); return SWITCH_STATUS_SUCCESS;