From 8faf89a56a4ad4c06ccfd77bc35f91ac83130c65 Mon Sep 17 00:00:00 2001 From: "jake%acutex.net" Date: Mon, 26 Nov 2001 14:16:10 +0000 Subject: [PATCH] Bug 109530 - xml.cgi was quoting stuff way too much. This is because it was incorrectly quoted in Bug.pm r= justdave, louie --- webtools/bugzilla/Bug.pm | 16 ++++------------ webtools/bugzilla/Bugzilla/Bug.pm | 16 ++++------------ webtools/bugzilla/importxml.pl | 13 ++++++++----- 3 files changed, 16 insertions(+), 29 deletions(-) diff --git a/webtools/bugzilla/Bug.pm b/webtools/bugzilla/Bug.pm index ea159ccdc99..670b274eb34 100755 --- a/webtools/bugzilla/Bug.pm +++ b/webtools/bugzilla/Bug.pm @@ -147,14 +147,6 @@ sub initBug { } } - if ($self->{'short_desc'}) { - $self->{'short_desc'} = QuoteXMLChars( $self->{'short_desc'} ); - } - - if (defined $self->{'status_whiteboard'}) { - $self->{'status_whiteboard'} = QuoteXMLChars($self->{'status_whiteboard'}); - } - $self->{'assigned_to'} = &::DBID_to_name($self->{'assigned_to'}); $self->{'reporter'} = &::DBID_to_name($self->{'reporter'}); @@ -183,7 +175,7 @@ sub initBug { push(@list, &::FetchOneColumn()); } if (@list) { - $self->{'keywords'} = &::html_quote(join(', ', @list)); + $self->{'keywords'} = join(', ', @list); } } @@ -198,7 +190,7 @@ sub initBug { my %attach; $attach{'attachid'} = $attachid; $attach{'date'} = $date; - $attach{'desc'} = &::html_quote($desc); + $attach{'desc'} = $desc; push @attachments, \%attach; } } @@ -215,7 +207,7 @@ sub initBug { my %longdesc; $longdesc{'who'} = $who; $longdesc{'bug_when'} = $bug_when; - $longdesc{'thetext'} = &::html_quote($thetext); + $longdesc{'thetext'} = $thetext; push @longdescs, \%longdesc; } if (@longdescs) { @@ -319,11 +311,11 @@ sub EmitDependList { } sub QuoteXMLChars { + $_[0] =~ s/&/&/g; $_[0] =~ s//>/g; $_[0] =~ s/'/'/g; $_[0] =~ s/"/"/g; - $_[0] =~ s/&/&/g; # $_[0] =~ s/([\x80-\xFF])/&XmlUtf8Encode(ord($1))/ge; return($_[0]); } diff --git a/webtools/bugzilla/Bugzilla/Bug.pm b/webtools/bugzilla/Bugzilla/Bug.pm index ea159ccdc99..670b274eb34 100644 --- a/webtools/bugzilla/Bugzilla/Bug.pm +++ b/webtools/bugzilla/Bugzilla/Bug.pm @@ -147,14 +147,6 @@ sub initBug { } } - if ($self->{'short_desc'}) { - $self->{'short_desc'} = QuoteXMLChars( $self->{'short_desc'} ); - } - - if (defined $self->{'status_whiteboard'}) { - $self->{'status_whiteboard'} = QuoteXMLChars($self->{'status_whiteboard'}); - } - $self->{'assigned_to'} = &::DBID_to_name($self->{'assigned_to'}); $self->{'reporter'} = &::DBID_to_name($self->{'reporter'}); @@ -183,7 +175,7 @@ sub initBug { push(@list, &::FetchOneColumn()); } if (@list) { - $self->{'keywords'} = &::html_quote(join(', ', @list)); + $self->{'keywords'} = join(', ', @list); } } @@ -198,7 +190,7 @@ sub initBug { my %attach; $attach{'attachid'} = $attachid; $attach{'date'} = $date; - $attach{'desc'} = &::html_quote($desc); + $attach{'desc'} = $desc; push @attachments, \%attach; } } @@ -215,7 +207,7 @@ sub initBug { my %longdesc; $longdesc{'who'} = $who; $longdesc{'bug_when'} = $bug_when; - $longdesc{'thetext'} = &::html_quote($thetext); + $longdesc{'thetext'} = $thetext; push @longdescs, \%longdesc; } if (@longdescs) { @@ -319,11 +311,11 @@ sub EmitDependList { } sub QuoteXMLChars { + $_[0] =~ s/&/&/g; $_[0] =~ s//>/g; $_[0] =~ s/'/'/g; $_[0] =~ s/"/"/g; - $_[0] =~ s/&/&/g; # $_[0] =~ s/([\x80-\xFF])/&XmlUtf8Encode(ord($1))/ge; return($_[0]); } diff --git a/webtools/bugzilla/importxml.pl b/webtools/bugzilla/importxml.pl index 4dfd421be04..e3532c53acf 100755 --- a/webtools/bugzilla/importxml.pl +++ b/webtools/bugzilla/importxml.pl @@ -88,12 +88,15 @@ sub sillyness { $zz = %::target_milestone; } +# XML::Parser automatically unquotes characters when it +# parses the XML, so this routine shouldn't be needed +# for anything (see bug 109530). sub UnQuoteXMLChars { $_[0] =~ s/&/&/g; $_[0] =~ s/<//g; - $_[0] =~ s/'/'/g; - $_[0] =~ s/"/"/g; + $_[0] =~ s/'/'/g; # ' # Darned emacs colors + $_[0] =~ s/"/"/g; # " # Darned emacs colors # $_[0] =~ s/([\x80-\xFF])/&XmlUtf8Encode(ord($1))/ge; return($_[0]); } @@ -318,7 +321,7 @@ for (my $k=1 ; $k <= $bugqty ; $k++) { $long_description .= "$sorted_descs[$z]->{'bug_when'}"; $long_description .= " ----\n\n"; } - $long_description .= UnQuoteXMLChars($sorted_descs[$z]->{'thetext'}); + $long_description .= $sorted_descs[$z]->{'thetext'}; $long_description .= "\n"; } @@ -351,12 +354,12 @@ for (my $k=1 ; $k <= $bugqty ; $k++) { if ( (defined $bug_fields{'bug_file_loc'}) && ($bug_fields{'bug_file_loc'}) ){ push (@query, "bug_file_loc"); - push (@values, SqlQuote(UnQuoteXMLChars($bug_fields{'bug_file_loc'}))); + push (@values, SqlQuote($bug_fields{'bug_file_loc'})); } if ( (defined $bug_fields{'short_desc'}) && ($bug_fields{'short_desc'}) ){ push (@query, "short_desc"); - push (@values, SqlQuote(UnQuoteXMLChars($bug_fields{'short_desc'})) ); + push (@values, SqlQuote($bug_fields{'short_desc'}) ); }