summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Skytt? <ville.skytta@iki.fi>2010-12-15 00:05:28 +0200
committerVille Skytt? <ville.skytta@iki.fi>2010-12-15 00:05:28 +0200
commitfbab0bc8984e965101d55c3926ef46c88e60befa (patch)
tree474110de95ef89b12a9819a26fc190cc88c05bbc
parentf71855ffbdffb33468df3e6360458336a422755f (diff)
downloadmarkup-validator-fbab0bc8984e965101d55c3926ef46c88e60befa.zip
markup-validator-fbab0bc8984e965101d55c3926ef46c88e60befa.tar.gz
markup-validator-fbab0bc8984e965101d55c3926ef46c88e60befa.tar.bz2
Make finding transcode error line number more memory efficient.
-rwxr-xr-xhttpd/cgi-bin/check4
1 files changed, 2 insertions, 2 deletions
diff --git a/httpd/cgi-bin/check b/httpd/cgi-bin/check
index 39f6057..ce56dcd 100755
--- a/httpd/cgi-bin/check
+++ b/httpd/cgi-bin/check
@@ -3222,9 +3222,9 @@ sub transcode
# Transcoding failed - do it again line by line to find out exactly
# where
my $line_num = 0;
- foreach my $input_line (split /\r\n|\n|\r/, $input) {
+ while ($input =~ /(.*?)(?:\r\n|\n|\r)/g) {
$line_num++;
- eval { $enc->decode($input_line, Encode::FB_CROAK); };
+ eval { $enc->decode($1, Encode::FB_CROAK); };
if ($@) {
my $croak_message = $@;
$croak_message =~ s/ at .*//;