struct holder {
switch_stream_handle_t *stream;
char *http;
+ char *delim;
uint32_t count;
int print_title;
switch_xml_t xml;
holder->stream->write_function(holder->stream, "<td>");
holder->stream->write_function(holder->stream, "<b>%s</b>%s", columnNames[x], x == (argc - 1) ? "</td></tr>\n" : "</td><td>");
} 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);
}
}
}
holder->stream->write_function(holder->stream, "<td>");
holder->stream->write_function(holder->stream, "%s%s", argv[x] ? argv[x] : "", x == (argc - 1) ? "</td></tr>\n" : "</td><td>");
} 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);
}
}
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;
}
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, "</table>");