diff options
author | mkanat%bugzilla.org <> | 2009-02-20 22:54:16 +0100 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-02-20 22:54:16 +0100 |
commit | 90ae4269f6b8b528e45fe8aee3fa6f5d0b1f102b (patch) | |
tree | 0c8d561a623ad995bb69eca45e8d8288bc72572e /contrib | |
parent | 4192ccfd0318d1772df6ff58ad06966ddd0c5449 (diff) | |
download | bugzilla-90ae4269f6b8b528e45fe8aee3fa6f5d0b1f102b.tar.gz bugzilla-90ae4269f6b8b528e45fe8aee3fa6f5d0b1f102b.tar.xz |
Bug 431201: recode.pl crash when trying to convert 2.16 database to 3.0.3 schema
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=mkanat
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/recode.pl | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/contrib/recode.pl b/contrib/recode.pl index 713465be7..f7ba034ac 100755 --- a/contrib/recode.pl +++ b/contrib/recode.pl @@ -149,16 +149,9 @@ if ($switch{'guess'}) { my $root = ROOT_USER; print STDERR <<EOT; Using --guess requires that Encode::Detect be installed. To install -Encode::Detect, first download it from: +Encode::Detect, run the following command: - http://search.cpan.org/dist/Encode-Detect/ - -Then, unpack it into its own directory and run the following commands -in that directory, as $root: - - ./Build.PL - ./Build - ./Build install + $^X install-module.pl Encode::Detect EOT exit; @@ -248,7 +241,10 @@ foreach my $table ($dbh->bz_table_list_real) { while (my @result = $sth->fetchrow_array) { my $data = shift @result; - my $digest = md5_base64($data); + # Wide characters cause md5_base64() to die. + my $digest_data = utf8::is_utf8($data) + ? Encode::encode_utf8($data) : $data; + my $digest = md5_base64($digest_data); my @primary_keys = reverse split(',', $pk); # We copy the array so that we can pop things from it without |