Fixed _log_open_tag to remove namespace prefix with libexpat

This commit is contained in:
James Booth
2015-03-28 17:37:11 +00:00
parent 59d2dd55d2
commit 527bc0573a
4 changed files with 15 additions and 2 deletions

View File

@@ -748,6 +748,7 @@ static void _log_open_tag(xmpp_conn_t *conn, char **attrs)
size_t pos;
int len;
int i;
char *attr;
if (!attrs) return;
@@ -756,10 +757,11 @@ static void _log_open_tag(xmpp_conn_t *conn, char **attrs)
if (len < 0) return;
pos += len;
for (i = 0; attrs[i]; i += 2) {
attr = parser_attr_name(conn->ctx, attrs[i]);
len = xmpp_snprintf(&buf[pos], 4096 - pos, " %s='%s'",
attrs[i], attrs[i+1]);
attr, attrs[i+1]);
xmpp_free(conn->ctx, attr);
if (len < 0) return;
pos += len;
}

View File

@@ -34,6 +34,7 @@ parser_t *parser_new(xmpp_ctx_t *ctx,
parser_stanza_callback stanzacb,
void *userdata);
void parser_free(parser_t * const parser);
char* parser_attr_name(xmpp_ctx_t *ctx, char *nsname);
int parser_reset(parser_t *parser);
int parser_feed(parser_t *parser, char *chunk, int len);

View File

@@ -220,6 +220,11 @@ parser_t *parser_new(xmpp_ctx_t *ctx,
return parser;
}
char* parser_attr_name(xmpp_ctx_t *ctx, char *nsname)
{
return _xml_name(ctx, nsname);
}
/* free a parser */
void parser_free(parser_t *parser)
{

View File

@@ -238,6 +238,11 @@ parser_t *parser_new(xmpp_ctx_t *ctx,
return parser;
}
char* parser_attr_name(xmpp_ctx_t *ctx, char *nsname)
{
return xmpp_strdup(ctx, nsname);
}
/* free a parser */
void parser_free(parser_t *parser)
{