mod_sofia: Add url encode to a var in the xml output to be valid xml. Also…

mod_sofia: Add url encode to a var in the xml output to be valid xml.  Also changed switch_url_encode to return the pointer of the string rather than the length, same as switch_amp_encode()


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@17087 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 256274ac
......@@ -591,7 +591,7 @@ SWITCH_DECLARE(switch_status_t) switch_string_match(const char *string, size_t s
SWITCH_DECLARE(char *) switch_util_quote_shell_arg(const char *string);
#define SWITCH_READ_ACCEPTABLE(status) (status == SWITCH_STATUS_SUCCESS || status == SWITCH_STATUS_BREAK)
SWITCH_DECLARE(size_t) switch_url_encode(const char *url, char *buf, size_t len);
SWITCH_DECLARE(char *) switch_url_encode(const char *url, char *buf, size_t len);
SWITCH_DECLARE(char *) switch_url_decode(char *s);
SWITCH_DECLARE(switch_bool_t) switch_simple_email(const char *to,
const char *from,
......
......@@ -2075,25 +2075,20 @@ static int show_reg_callback_xml(void *pArg, int argc, char **argv, char **colum
switch_strftime_nocheck(exp_buf, &retsize, sizeof(exp_buf), "%Y-%m-%d %T", &tm);
}
cb->stream->write_function(cb->stream,
" <registration>\n"
" <call-id>%s</call-id>\n"
" <user>%s@%s</user>\n"
" <contact>%s</contact>\n"
" <agent>%s</agent>\n"
" <status>%s(%s) exp(%s)</status>\n"
" <host>%s</host>\n"
" <network-ip>%s</network-ip>\n"
" <network-port>%s</network-port>\n"
" <sip-auth-user>%s</sip-auth-user>\n"
" <sip-auth-realm>%s</sip-auth-realm>\n"
" <mwi-account>%s@%s</mwi-account>\n"
" </registration>\n",
switch_str_nil(argv[0]), switch_str_nil(argv[1]), switch_str_nil(argv[2]),
switch_amp_encode(switch_str_nil(argv[3]), xmlbuf, buflen),
switch_str_nil(argv[7]), switch_str_nil(argv[4]), switch_str_nil(argv[5]), exp_buf, switch_str_nil(argv[11]),
switch_str_nil(argv[12]), switch_str_nil(argv[13]), switch_str_nil(argv[14]), switch_str_nil(argv[15]),
switch_str_nil(argv[16]), switch_str_nil(argv[17]));
cb->stream->write_function(cb->stream," <registration>\n");
cb->stream->write_function(cb->stream," <call-id>%s</call-id>\n", switch_str_nil(argv[0]));
cb->stream->write_function(cb->stream," <user>%s@%s</user>\n", switch_str_nil(argv[1]), switch_str_nil(argv[2]));
cb->stream->write_function(cb->stream," <contact>%s</contact>\n", switch_amp_encode(switch_str_nil(argv[3]), xmlbuf, buflen));
cb->stream->write_function(cb->stream," <agent>%s</agent>\n", switch_str_nil(argv[7]));
cb->stream->write_function(cb->stream," <status>%s(%s) exp(%s)</status>\n", switch_str_nil(argv[4]), switch_str_nil(argv[5]), exp_buf);
cb->stream->write_function(cb->stream," <host>%s</host>\n", switch_str_nil(argv[11]));
cb->stream->write_function(cb->stream," <network-ip>%s</network-ip>\n", switch_str_nil(argv[12]));
cb->stream->write_function(cb->stream," <network-port>%s</network-port>\n", switch_str_nil(argv[13]));
cb->stream->write_function(cb->stream," <sip-auth-user>%s</sip-auth-user>\n", switch_url_encode(switch_str_nil(argv[14]), xmlbuf, sizeof(xmlbuf)));
cb->stream->write_function(cb->stream," <sip-auth-realm>%s</sip-auth-realm>\n", switch_str_nil(argv[15]));
cb->stream->write_function(cb->stream," <mwi-account>%s@%s</mwi-account>\n", switch_str_nil(argv[16]), switch_str_nil(argv[17]));
cb->stream->write_function(cb->stream," </registration>\n");
return 0;
}
......
......@@ -1991,7 +1991,7 @@ SWITCH_DECLARE(int) switch_socket_waitfor(switch_pollfd_t *poll, int ms)
return nsds;
}
SWITCH_DECLARE(size_t) switch_url_encode(const char *url, char *buf, size_t len)
SWITCH_DECLARE(char *) switch_url_encode(const char *url, char *buf, size_t len)
{
const char *p;
size_t x = 0;
......@@ -2025,7 +2025,7 @@ SWITCH_DECLARE(size_t) switch_url_encode(const char *url, char *buf, size_t len)
}
buf[x] = '\0';
return x;
return buf;
}
SWITCH_DECLARE(char *) switch_url_decode(char *s)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论