dovecot-1.2: New UnicodeMap.txt has >16bit multi-decomposition k...

dovecot at dovecot.org dovecot at dovecot.org
Thu Oct 1 23:40:41 EEST 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/9a8c565adbe1
changeset: 9405:9a8c565adbe1
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Oct 01 16:40:32 2009 -0400
description:
New UnicodeMap.txt has >16bit multi-decomposition keys, support them.

diffstat:

2 files changed, 6 insertions(+), 6 deletions(-)
src/lib/unichar.c     |    2 +-
src/lib/unicodemap.pl |   10 +++++-----

diffs (53 lines):

diff -r 8e8a706d6905 -r 9a8c565adbe1 src/lib/unichar.c
--- a/src/lib/unichar.c	Wed Sep 30 18:36:50 2009 -0400
+++ b/src/lib/unichar.c	Thu Oct 01 16:40:32 2009 -0400
@@ -250,7 +250,7 @@ static bool uni_ucs4_decompose_multi_utf
 	if (chr > 0xffff)
 		return FALSE;
 
-	if (!uint16_find(multidecomp_keys, N_ELEMENTS(multidecomp_keys),
+	if (!uint32_find(multidecomp_keys, N_ELEMENTS(multidecomp_keys),
 			 chr, &idx))
 		return FALSE;
 
diff -r 8e8a706d6905 -r 9a8c565adbe1 src/lib/unicodemap.pl
--- a/src/lib/unicodemap.pl	Wed Sep 30 18:36:50 2009 -0400
+++ b/src/lib/unicodemap.pl	Thu Oct 01 16:40:32 2009 -0400
@@ -32,7 +32,7 @@ while (<>) {
       # unicharacter decomposition. use separate lists for this
       my $value = eval("0x$1");
       if ($value > 0xffff) {
-	print STDERR "We've assumed decomposition codes are max. 16bit\n";
+	print STDERR "Error: We've assumed decomposition codes are max. 16bit\n";
 	exit;
       }
       if ($code <= 0xffff) {
@@ -44,8 +44,8 @@ while (<>) {
       }
     } else {
       # multicharacter decomposition.
-      if ($code > 0xffff) {
-	print STDERR "We've assumed multi-decomposition key codes are max. 16bit\n";
+      if ($code > 0xffffffff) {
+	print STDERR "Error: We've assumed multi-decomposition key codes are max. 32bit\n";
 	exit;
       }
       
@@ -55,7 +55,7 @@ while (<>) {
       foreach my $dcode (split(" ", $decomp_codes)) {
 	my $value = eval("0x$dcode");
 	if ($value > 0xffff) {
-	  print STDERR "We've assumed decomposition codes are max. 16bit\n";
+	  print STDERR "Error: We've assumed decomposition codes are max. 16bit\n";
 	  exit;
 	}
 	push @multidecomp_values, $value;
@@ -121,7 +121,7 @@ print_list(\@uni32_decomp_values);
 print_list(\@uni32_decomp_values);
 print "\n};\n";
 
-print "static const uint16_t multidecomp_keys[] = {\n\t";
+print "static const uint32_t multidecomp_keys[] = {\n\t";
 print_list(\@multidecomp_keys);
 print "\n};\n";
 


More information about the dovecot-cvs mailing list