diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index f40d4751bb..6ac5be8dba 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -821,6 +821,7 @@ static switch_status_t sched_api_function(char *cmd, switch_core_session_t *ises struct holder { switch_stream_handle_t *stream; char *http; + char *delim; uint32_t count; int print_title; switch_xml_t xml; @@ -876,7 +877,7 @@ static int show_callback(void *pArg, int argc, char **argv, char **columnNames) holder->stream->write_function(holder->stream, ""); holder->stream->write_function(holder->stream, "%s%s", columnNames[x], x == (argc - 1) ? "\n" : ""); } else { - holder->stream->write_function(holder->stream, "%s%s", columnNames[x], x == (argc - 1) ? "\n" : ","); + holder->stream->write_function(holder->stream, "%s%s", columnNames[x], x == (argc - 1) ? "\n" : holder->delim); } } } @@ -890,7 +891,7 @@ static int show_callback(void *pArg, int argc, char **argv, char **columnNames) holder->stream->write_function(holder->stream, ""); holder->stream->write_function(holder->stream, "%s%s", argv[x] ? argv[x] : "", x == (argc - 1) ? "\n" : ""); } else { - holder->stream->write_function(holder->stream, "%s%s", argv[x] ? argv[x] : "", x == (argc - 1) ? "\n" : ","); + holder->stream->write_function(holder->stream, "%s%s", argv[x] ? argv[x] : "", x == (argc - 1) ? "\n" : holder->delim); } } @@ -905,7 +906,7 @@ static switch_status_t show_function(char *data, switch_core_session_t *session, switch_core_db_t *db = switch_core_db_handle(); struct holder holder = { 0 }; int help = 0; - char *mydata = NULL, *argv[5] = {0}; + char *mydata = NULL, *argv[6] = {0}; int argc; char *cmd = NULL, *as = NULL; @@ -969,10 +970,16 @@ static switch_status_t show_function(char *data, switch_core_session_t *session, } if (!as) { - as = "csv"; + as = "delim"; + holder.delim = ","; } - if (!strcasecmp(as, "csv")) { + if (!strcasecmp(as, "delim") || !strcasecmp(as, "csv")) { + if (switch_strlen_zero(holder.delim)) { + if (!(holder.delim = argv[3])) { + holder.delim = ","; + } + } switch_core_db_exec(db, sql, show_callback, &holder, &errmsg); if (holder.http) { holder.stream->write_function(holder.stream, "");