Bug #27884: mysql --html does not quote HTML special characters in output
Fix encoding of field values and names in HTML output from mysql client.
This commit is contained in:
parent
90815182f0
commit
fb2d75cb75
@ -3381,9 +3381,12 @@ print_table_data_html(MYSQL_RES *result)
|
|||||||
{
|
{
|
||||||
while((field = mysql_fetch_field(result)))
|
while((field = mysql_fetch_field(result)))
|
||||||
{
|
{
|
||||||
tee_fprintf(PAGER, "<TH>%s</TH>", (field->name ?
|
tee_fputs("<TH>", PAGER);
|
||||||
(field->name[0] ? field->name :
|
if (field->name && field->name[0])
|
||||||
" ") : "NULL"));
|
xmlencode_print(field->name, field->name_length);
|
||||||
|
else
|
||||||
|
tee_fputs(field->name ? " " : "NULL", PAGER);
|
||||||
|
tee_fputs("</TH>", PAGER);
|
||||||
}
|
}
|
||||||
(void) tee_fputs("</TR>", PAGER);
|
(void) tee_fputs("</TR>", PAGER);
|
||||||
}
|
}
|
||||||
@ -3396,7 +3399,7 @@ print_table_data_html(MYSQL_RES *result)
|
|||||||
for (uint i=0; i < mysql_num_fields(result); i++)
|
for (uint i=0; i < mysql_num_fields(result); i++)
|
||||||
{
|
{
|
||||||
(void) tee_fputs("<TD>", PAGER);
|
(void) tee_fputs("<TD>", PAGER);
|
||||||
safe_put_field(cur[i],lengths[i]);
|
xmlencode_print(cur[i], lengths[i]);
|
||||||
(void) tee_fputs("</TD>", PAGER);
|
(void) tee_fputs("</TD>", PAGER);
|
||||||
}
|
}
|
||||||
(void) tee_fputs("</TR>", PAGER);
|
(void) tee_fputs("</TR>", PAGER);
|
||||||
|
@ -200,4 +200,5 @@ Warning (Code 1286): Unknown table engine 'nonexistent2'
|
|||||||
Warning (Code 1266): Using storage engine MyISAM for table 't2'
|
Warning (Code 1266): Using storage engine MyISAM for table 't2'
|
||||||
Error (Code 1050): Table 't2' already exists
|
Error (Code 1050): Table 't2' already exists
|
||||||
drop tables t1, t2;
|
drop tables t1, t2;
|
||||||
|
<TABLE BORDER=1><TR><TH><</TH></TR><TR><TD>< & ></TD></TR></TABLE>
|
||||||
End of tests
|
End of tests
|
||||||
|
@ -367,4 +367,10 @@ remove_file $MYSQLTEST_VARDIR/tmp/bug31060.sql;
|
|||||||
|
|
||||||
drop tables t1, t2;
|
drop tables t1, t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #27884: mysql --html does not quote HTML special characters in output
|
||||||
|
#
|
||||||
|
--exec $MYSQL --html test -e "select '< & >' as \`<\`"
|
||||||
|
|
||||||
|
--echo
|
||||||
--echo End of tests
|
--echo End of tests
|
||||||
|
Loading…
x
Reference in New Issue
Block a user