X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Funictype%2Fidentsyntaxmap.h;h=aed5bd3e4dd4359ea869c5c42568b6c288d3f07f;hb=96f023c5e537dd4afbdb294de7065f65effe3eb2;hp=5d9db39599579c665f8f991e4e06c6958c504f9c;hpb=5a6e55c1886acd86b0deaa9d1d343471f61d3ded;p=gnulib.git diff --git a/lib/unictype/identsyntaxmap.h b/lib/unictype/identsyntaxmap.h index 5d9db3959..aed5bd3e4 100644 --- a/lib/unictype/identsyntaxmap.h +++ b/lib/unictype/identsyntaxmap.h @@ -1,5 +1,5 @@ /* Three-level bitmap lookup. - Copyright (C) 2000-2002, 2005-2007 Free Software Foundation, Inc. + Copyright (C) 2000-2002, 2005-2007, 2009-2012 Free Software Foundation, Inc. Written by Bruno Haible , 2000-2002. This program is free software: you can redistribute it and/or modify it @@ -25,18 +25,18 @@ identsyntax_lookup (ucs4_t uc) { int lookup1 = TABLE.level1[index1]; if (lookup1 >= 0) - { - unsigned int index2 = (uc >> identsyntax_header_2) & identsyntax_header_3; - int lookup2 = TABLE.level2[lookup1 + index2]; - if (lookup2 >= 0) - { - unsigned int index3 = (uc & identsyntax_header_4) + lookup2; - /* level3 contains 2-bit values. */ - unsigned int lookup3 = TABLE.level3[index3 >> 3]; + { + unsigned int index2 = (uc >> identsyntax_header_2) & identsyntax_header_3; + int lookup2 = TABLE.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = (uc & identsyntax_header_4) + lookup2; + /* level3 contains 2-bit values. */ + unsigned int lookup3 = TABLE.level3[index3 >> 3]; - return (lookup3 >> (2 * (index3 & 7))) & 3; - } - } + return (lookup3 >> (2 * (index3 & 7))) & 3; + } + } } return UC_IDENTIFIER_INVALID; }