From: Mark K. <seg...@us...> - 2002-04-22 15:37:45
|
Update of /cvsroot/formmagick/formmagick/lib/CGI/FormMagick In directory usw-pr-cvs1:/tmp/cvs-serv6106 Modified Files: Setup.pm Log Message: Gracefully report parse_xml errors and save the input XML in /tmp along with the error messages for easier debugging. Index: Setup.pm =================================================================== RCS file: /cvsroot/formmagick/formmagick/lib/CGI/FormMagick/Setup.pm,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** Setup.pm 19 Feb 2002 20:30:17 -0000 1.18 --- Setup.pm 22 Apr 2002 15:37:41 -0000 1.19 *************** *** 131,135 **** $xml = $p->parsefile($self->{source} || default_xml_filename()); } elsif ($self->{inputtype} eq "string") { ! $xml = $p->parse($self->{source}); } else { croak 'Invalid source type specified (should be "file" or "string")'; --- 131,144 ---- $xml = $p->parsefile($self->{source} || default_xml_filename()); } elsif ($self->{inputtype} eq "string") { ! # Catch errors in parse_xml and save the output for debugging. ! my $result = eval { $xml = $p->parse($self->{source}) }; ! unless ($result) ! { ! open OUT, ">/tmp/FormMagick_XML_$$"; ! print OUT $self->{source}; ! print OUT "\n\n<!--\nERRORS:\n$@\n-->\n"; ! croak "Whoops, parse_xml() failed. The data and error messages were ! saved to /tmp/FormMagick_XML_$$\n"; ! } } else { croak 'Invalid source type specified (should be "file" or "string")'; |