--- xmlunicode.c.orig	2004-11-16 17:08:09.000000000 -0800
+++ xmlunicode.c	2004-11-19 15:45:59.000000000 -0800
@@ -34,9 +34,9 @@
 } xmlUnicodeNameTable;
 
 
-static xmlIntFunc *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname);
+static xmlIntFunc *xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname);
 
-static xmlUnicodeRange xmlUnicodeBlocks[] = {
+static const xmlUnicodeRange xmlUnicodeBlocks[] = {
   {"AegeanNumbers", xmlUCSIsAegeanNumbers},
   {"AlphabeticPresentationForms", xmlUCSIsAlphabeticPresentationForms},
   {"Arabic", xmlUCSIsArabic},
@@ -166,7 +166,7 @@
   {"YiSyllables", xmlUCSIsYiSyllables},
   {"YijingHexagramSymbols", xmlUCSIsYijingHexagramSymbols}};
 
-static xmlUnicodeRange xmlUnicodeCats[] = {
+static const xmlUnicodeRange xmlUnicodeCats[] = {
   {"C", xmlUCSIsCatC},
   {"Cc", xmlUCSIsCatCc},
   {"Cf", xmlUCSIsCatCf},
@@ -204,25 +204,25 @@
   {"Zp", xmlUCSIsCatZp},
   {"Zs", xmlUCSIsCatZs}};
 
-static xmlChSRange xmlCS[] = {{0x0, 0x1f}, {0x7f, 0x9f}, {0xad, 0xad}, 
+static const xmlChSRange xmlCS[] = {{0x0, 0x1f}, {0x7f, 0x9f}, {0xad, 0xad}, 
     {0x600, 0x603}, {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, 
     {0x200c, 0x200f}, {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, 
     {0xd800, 0xd800}, {0xdb7f, 0xdb80}, {0xdbff, 0xdc00}, {0xdfff, 0xe000}, 
     {0xf8ff, 0xf8ff}, {0xfeff, 0xfeff}, {0xfff9, 0xfffb} };
-static xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, 
+static const xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, 
     {0xe0020, 0xe007f}, {0xf0000, 0xf0000}, {0xffffd, 0xffffd}, 
     {0x100000, 0x100000}, {0x10fffd, 0x10fffd} };
-static xmlChRangeGroup xmlCG = {18,7,xmlCS,xmlCL};
+static const xmlChRangeGroup xmlCG = {18,7,(xmlChSRangePtr)xmlCS,(xmlChLRangePtr)xmlCL};
 
-static xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603}, 
+static const xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603}, 
     {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, {0x200c, 0x200f}, 
     {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, {0xfeff, 0xfeff}, 
     {0xfff9, 0xfffb} };
-static xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, 
+static const xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001}, 
     {0xe0020, 0xe007f} };
-static xmlChRangeGroup xmlCfG = {11,3,xmlCfS,xmlCfL};
+static const xmlChRangeGroup xmlCfG = {11,3,(xmlChSRangePtr)xmlCfS,(xmlChLRangePtr)xmlCfL};
 
-static xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a}, {0xaa, 0xaa}, 
+static const xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a}, {0xaa, 0xaa}, 
     {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x236}, 
     {0x250, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, 
     {0x37a, 0x37a}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, 
@@ -292,7 +292,7 @@
     {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, 
     {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe}, {0xffc2, 0xffc7}, 
     {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc} };
-static xmlChLRange xmlLL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, 
+static const xmlChLRange xmlLL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, 
     {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, 
     {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e}, 
     {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10400, 0x1049d}, 
@@ -309,9 +309,9 @@
     {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, 
     {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9}, 
     {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} };
-static xmlChRangeGroup xmlLG = {279,50,xmlLS,xmlLL};
+static const xmlChRangeGroup xmlLG = {279,50,(xmlChSRangePtr)xmlLS,(xmlChLRangePtr)xmlLL};
 
-static xmlChSRange xmlLlS[] = {{0x61, 0x7a}, {0xaa, 0xaa}, {0xb5, 0xb5}, 
+static const xmlChSRange xmlLlS[] = {{0x61, 0x7a}, {0xaa, 0xaa}, {0xb5, 0xb5}, 
     {0xba, 0xba}, {0xdf, 0xf6}, {0xf8, 0xff}, {0x101, 0x101}, 
     {0x103, 0x103}, {0x105, 0x105}, {0x107, 0x107}, {0x109, 0x109}, 
     {0x10b, 0x10b}, {0x10d, 0x10d}, {0x10f, 0x10f}, {0x111, 0x111}, 
@@ -411,7 +411,7 @@
     {0x2113, 0x2113}, {0x212f, 0x212f}, {0x2134, 0x2134}, {0x2139, 0x2139}, 
     {0x213d, 0x213d}, {0x2146, 0x2149}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, 
     {0xff41, 0xff5a} };
-static xmlChLRange xmlLlL[] = {{0x10428, 0x1044f}, {0x1d41a, 0x1d433}, 
+static const xmlChLRange xmlLlL[] = {{0x10428, 0x1044f}, {0x1d41a, 0x1d433}, 
     {0x1d44e, 0x1d454}, {0x1d456, 0x1d467}, {0x1d482, 0x1d49b}, 
     {0x1d4b6, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, 
     {0x1d4c5, 0x1d4cf}, {0x1d4ea, 0x1d503}, {0x1d51e, 0x1d537}, 
@@ -421,17 +421,17 @@
     {0x1d6fc, 0x1d714}, {0x1d716, 0x1d71b}, {0x1d736, 0x1d74e}, 
     {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d78f}, 
     {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9} };
-static xmlChRangeGroup xmlLlG = {396,28,xmlLlS,xmlLlL};
+static const xmlChRangeGroup xmlLlG = {396,28,(xmlChSRangePtr)xmlLlS,(xmlChLRangePtr)xmlLlL};
 
-static xmlChSRange xmlLmS[] = {{0x2b0, 0x2c1}, {0x2c6, 0x2d1}, 
+static const xmlChSRange xmlLmS[] = {{0x2b0, 0x2c1}, {0x2c6, 0x2d1}, 
     {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x559, 0x559}, 
     {0x640, 0x640}, {0x6e5, 0x6e6}, {0xe46, 0xe46}, {0xec6, 0xec6}, 
     {0x17d7, 0x17d7}, {0x1843, 0x1843}, {0x1d2c, 0x1d61}, {0x3005, 0x3005}, 
     {0x3031, 0x3035}, {0x303b, 0x303b}, {0x309d, 0x309e}, {0x30fc, 0x30fe}, 
     {0xff70, 0xff70}, {0xff9e, 0xff9f} };
-static xmlChRangeGroup xmlLmG = {20,0,xmlLmS,NULL};
+static const xmlChRangeGroup xmlLmG = {20,0,(xmlChSRangePtr)xmlLmS,NULL};
 
-static xmlChSRange xmlLoS[] = {{0x1bb, 0x1bb}, {0x1c0, 0x1c3}, 
+static const xmlChSRange xmlLoS[] = {{0x1bb, 0x1bb}, {0x1c0, 0x1c3}, 
     {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x641, 0x64a}, 
     {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6ee, 0x6ef}, 
     {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f}, 
@@ -485,21 +485,21 @@
     {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff66, 0xff6f}, {0xff71, 0xff9d}, 
     {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, 
     {0xffda, 0xffdc} };
-static xmlChLRange xmlLoL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, 
+static const xmlChLRange xmlLoL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026}, 
     {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, 
     {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e}, 
     {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10450, 0x1049d}, 
     {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, 
     {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f}, 
     {0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} };
-static xmlChRangeGroup xmlLoG = {211,20,xmlLoS,xmlLoL};
+static const xmlChRangeGroup xmlLoG = {211,20,(xmlChSRangePtr)xmlLoS,(xmlChLRangePtr)xmlLoL};
 
-static xmlChSRange xmlLtS[] = {{0x1c5, 0x1c5}, {0x1c8, 0x1c8}, 
+static const xmlChSRange xmlLtS[] = {{0x1c5, 0x1c5}, {0x1c8, 0x1c8}, 
     {0x1cb, 0x1cb}, {0x1f2, 0x1f2}, {0x1f88, 0x1f8f}, {0x1f98, 0x1f9f}, 
     {0x1fa8, 0x1faf}, {0x1fbc, 0x1fbc}, {0x1fcc, 0x1fcc}, {0x1ffc, 0x1ffc} };
-static xmlChRangeGroup xmlLtG = {10,0,xmlLtS,NULL};
+static const xmlChRangeGroup xmlLtG = {10,0,(xmlChSRangePtr)xmlLtS,NULL};
 
-static xmlChSRange xmlLuS[] = {{0x41, 0x5a}, {0xc0, 0xd6}, {0xd8, 0xde}, 
+static const xmlChSRange xmlLuS[] = {{0x41, 0x5a}, {0xc0, 0xd6}, {0xd8, 0xde}, 
     {0x100, 0x100}, {0x102, 0x102}, {0x104, 0x104}, {0x106, 0x106}, 
     {0x108, 0x108}, {0x10a, 0x10a}, {0x10c, 0x10c}, {0x10e, 0x10e}, 
     {0x110, 0x110}, {0x112, 0x112}, {0x114, 0x114}, {0x116, 0x116}, 
@@ -597,7 +597,7 @@
     {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, 
     {0x2128, 0x2128}, {0x212a, 0x212d}, {0x2130, 0x2131}, {0x2133, 0x2133}, 
     {0x213e, 0x213f}, {0x2145, 0x2145}, {0xff21, 0xff3a} };
-static xmlChLRange xmlLuL[] = {{0x10400, 0x10427}, {0x1d400, 0x1d419}, 
+static const xmlChLRange xmlLuL[] = {{0x10400, 0x10427}, {0x1d400, 0x1d419}, 
     {0x1d434, 0x1d44d}, {0x1d468, 0x1d481}, {0x1d49c, 0x1d49c}, 
     {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, 
     {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b5}, {0x1d4d0, 0x1d4e9}, 
@@ -608,9 +608,9 @@
     {0x1d608, 0x1d621}, {0x1d63c, 0x1d655}, {0x1d670, 0x1d689}, 
     {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, {0x1d71c, 0x1d734}, 
     {0x1d756, 0x1d76e}, {0x1d790, 0x1d7a8} };
-static xmlChRangeGroup xmlLuG = {390,31,xmlLuS,xmlLuL};
+static const xmlChRangeGroup xmlLuG = {390,31,(xmlChSRangePtr)xmlLuS,(xmlChLRangePtr)xmlLuL};
 
-static xmlChSRange xmlMS[] = {{0x300, 0x357}, {0x35d, 0x36f}, 
+static const xmlChSRange xmlMS[] = {{0x300, 0x357}, {0x35d, 0x36f}, 
     {0x483, 0x486}, {0x488, 0x489}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, 
     {0x5bb, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, 
     {0x610, 0x615}, {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, 
@@ -639,12 +639,12 @@
     {0x17dd, 0x17dd}, {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x192b}, 
     {0x1930, 0x193b}, {0x20d0, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, 
     {0xfb1e, 0xfb1e}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} };
-static xmlChLRange xmlML[] = {{0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, 
+static const xmlChLRange xmlML[] = {{0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, 
     {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, 
     {0xe0100, 0xe01ef} };
-static xmlChRangeGroup xmlMG = {113,6,xmlMS,xmlML};
+static const xmlChRangeGroup xmlMG = {113,6,(xmlChSRangePtr)xmlMS,(xmlChLRangePtr)xmlML};
 
-static xmlChSRange xmlMcS[] = {{0x903, 0x903}, {0x93e, 0x940}, 
+static const xmlChSRange xmlMcS[] = {{0x903, 0x903}, {0x93e, 0x940}, 
     {0x949, 0x94c}, {0x982, 0x983}, {0x9be, 0x9c0}, {0x9c7, 0x9c8}, 
     {0x9cb, 0x9cc}, {0x9d7, 0x9d7}, {0xa03, 0xa03}, {0xa3e, 0xa40}, 
     {0xa83, 0xa83}, {0xabe, 0xac0}, {0xac9, 0xac9}, {0xacb, 0xacc}, 
@@ -659,10 +659,10 @@
     {0x1038, 0x1038}, {0x1056, 0x1057}, {0x17b6, 0x17b6}, {0x17be, 0x17c5}, 
     {0x17c7, 0x17c8}, {0x1923, 0x1926}, {0x1929, 0x192b}, {0x1930, 0x1931}, 
     {0x1933, 0x1938} };
-static xmlChLRange xmlMcL[] = {{0x1d165, 0x1d166}, {0x1d16d, 0x1d172} };
-static xmlChRangeGroup xmlMcG = {55,2,xmlMcS,xmlMcL};
+static const xmlChLRange xmlMcL[] = {{0x1d165, 0x1d166}, {0x1d16d, 0x1d172} };
+static const xmlChRangeGroup xmlMcG = {55,2,(xmlChSRangePtr)xmlMcS,(xmlChLRangePtr)xmlMcL};
 
-static xmlChSRange xmlMnS[] = {{0x300, 0x357}, {0x35d, 0x36f}, 
+static const xmlChSRange xmlMnS[] = {{0x300, 0x357}, {0x35d, 0x36f}, 
     {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, {0x5bb, 0x5bd}, 
     {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, {0x610, 0x615}, 
     {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, {0x6df, 0x6e4}, 
@@ -690,11 +690,11 @@
     {0x1932, 0x1932}, {0x1939, 0x193b}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, 
     {0x20e5, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, {0xfb1e, 0xfb1e}, 
     {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} };
-static xmlChLRange xmlMnL[] = {{0x1d167, 0x1d169}, {0x1d17b, 0x1d182}, 
+static const xmlChLRange xmlMnL[] = {{0x1d167, 0x1d169}, {0x1d17b, 0x1d182}, 
     {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0xe0100, 0xe01ef} };
-static xmlChRangeGroup xmlMnG = {108,5,xmlMnS,xmlMnL};
+static const xmlChRangeGroup xmlMnG = {108,5,(xmlChSRangePtr)xmlMnS,(xmlChLRangePtr)xmlMnL};
 
-static xmlChSRange xmlNS[] = {{0x30, 0x39}, {0xb2, 0xb3}, {0xb9, 0xb9}, 
+static const xmlChSRange xmlNS[] = {{0x30, 0x39}, {0xb2, 0xb3}, {0xb9, 0xb9}, 
     {0xbc, 0xbe}, {0x660, 0x669}, {0x6f0, 0x6f9}, {0x966, 0x96f}, 
     {0x9e6, 0x9ef}, {0x9f4, 0x9f9}, {0xa66, 0xa6f}, {0xae6, 0xaef}, 
     {0xb66, 0xb6f}, {0xbe7, 0xbf2}, {0xc66, 0xc6f}, {0xce6, 0xcef}, 
@@ -705,29 +705,29 @@
     {0x24ea, 0x24ff}, {0x2776, 0x2793}, {0x3007, 0x3007}, {0x3021, 0x3029}, 
     {0x3038, 0x303a}, {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f}, 
     {0x3280, 0x3289}, {0x32b1, 0x32bf}, {0xff10, 0xff19} };
-static xmlChLRange xmlNL[] = {{0x10107, 0x10133}, {0x10320, 0x10323}, 
+static const xmlChLRange xmlNL[] = {{0x10107, 0x10133}, {0x10320, 0x10323}, 
     {0x1034a, 0x1034a}, {0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} };
-static xmlChRangeGroup xmlNG = {42,5,xmlNS,xmlNL};
+static const xmlChRangeGroup xmlNG = {42,5,(xmlChSRangePtr)xmlNS,(xmlChLRangePtr)xmlNL};
 
-static xmlChSRange xmlNdS[] = {{0x30, 0x39}, {0x660, 0x669}, 
+static const xmlChSRange xmlNdS[] = {{0x30, 0x39}, {0x660, 0x669}, 
     {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f}, 
     {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbef}, {0xc66, 0xc6f}, 
     {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9}, 
     {0xf20, 0xf29}, {0x1040, 0x1049}, {0x1369, 0x1371}, {0x17e0, 0x17e9}, 
     {0x1810, 0x1819}, {0x1946, 0x194f}, {0xff10, 0xff19} };
-static xmlChLRange xmlNdL[] = {{0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} };
-static xmlChRangeGroup xmlNdG = {21,2,xmlNdS,xmlNdL};
+static const xmlChLRange xmlNdL[] = {{0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} };
+static const xmlChRangeGroup xmlNdG = {21,2,(xmlChSRangePtr)xmlNdS,(xmlChLRangePtr)xmlNdL};
 
-static xmlChSRange xmlNoS[] = {{0xb2, 0xb3}, {0xb9, 0xb9}, {0xbc, 0xbe}, 
+static const xmlChSRange xmlNoS[] = {{0xb2, 0xb3}, {0xb9, 0xb9}, {0xbc, 0xbe}, 
     {0x9f4, 0x9f9}, {0xbf0, 0xbf2}, {0xf2a, 0xf33}, {0x1372, 0x137c}, 
     {0x17f0, 0x17f9}, {0x2070, 0x2070}, {0x2074, 0x2079}, {0x2080, 0x2089}, 
     {0x2153, 0x215f}, {0x2460, 0x249b}, {0x24ea, 0x24ff}, {0x2776, 0x2793}, 
     {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f}, {0x3280, 0x3289}, 
     {0x32b1, 0x32bf} };
-static xmlChLRange xmlNoL[] = {{0x10107, 0x10133}, {0x10320, 0x10323} };
-static xmlChRangeGroup xmlNoG = {20,2,xmlNoS,xmlNoL};
+static const xmlChLRange xmlNoL[] = {{0x10107, 0x10133}, {0x10320, 0x10323} };
+static const xmlChRangeGroup xmlNoG = {20,2,(xmlChSRangePtr)xmlNoS,(xmlChLRangePtr)xmlNoL};
 
-static xmlChSRange xmlPS[] = {{0x21, 0x23}, {0x25, 0x2a}, {0x2c, 0x2f}, 
+static const xmlChSRange xmlPS[] = {{0x21, 0x23}, {0x25, 0x2a}, {0x2c, 0x2f}, 
     {0x3a, 0x3b}, {0x3f, 0x40}, {0x5b, 0x5d}, {0x5f, 0x5f}, {0x7b, 0x7b}, 
     {0x7d, 0x7d}, {0xa1, 0xa1}, {0xab, 0xab}, {0xb7, 0xb7}, {0xbb, 0xbb}, 
     {0xbf, 0xbf}, {0x37e, 0x37e}, {0x387, 0x387}, {0x55a, 0x55f}, 
@@ -748,16 +748,16 @@
     {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff0a}, {0xff0c, 0xff0f}, 
     {0xff1a, 0xff1b}, {0xff1f, 0xff20}, {0xff3b, 0xff3d}, {0xff3f, 0xff3f}, 
     {0xff5b, 0xff5b}, {0xff5d, 0xff5d}, {0xff5f, 0xff65} };
-static xmlChLRange xmlPL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
-static xmlChRangeGroup xmlPG = {84,2,xmlPS,xmlPL};
+static const xmlChLRange xmlPL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
+static const xmlChRangeGroup xmlPG = {84,2,(xmlChSRangePtr)xmlPS,(xmlChLRangePtr)xmlPL};
 
-static xmlChSRange xmlPdS[] = {{0x2d, 0x2d}, {0x58a, 0x58a}, 
+static const xmlChSRange xmlPdS[] = {{0x2d, 0x2d}, {0x58a, 0x58a}, 
     {0x1806, 0x1806}, {0x2010, 0x2015}, {0x301c, 0x301c}, {0x3030, 0x3030}, 
     {0x30a0, 0x30a0}, {0xfe31, 0xfe32}, {0xfe58, 0xfe58}, {0xfe63, 0xfe63}, 
     {0xff0d, 0xff0d} };
-static xmlChRangeGroup xmlPdG = {11,0,xmlPdS,NULL};
+static const xmlChRangeGroup xmlPdG = {11,0,(xmlChSRangePtr)xmlPdS,NULL};
 
-static xmlChSRange xmlPeS[] = {{0x29, 0x29}, {0x5d, 0x5d}, {0x7d, 0x7d}, 
+static const xmlChSRange xmlPeS[] = {{0x29, 0x29}, {0x5d, 0x5d}, {0x7d, 0x7d}, 
     {0xf3b, 0xf3b}, {0xf3d, 0xf3d}, {0x169c, 0x169c}, {0x2046, 0x2046}, 
     {0x207e, 0x207e}, {0x208e, 0x208e}, {0x232a, 0x232a}, {0x23b5, 0x23b5}, 
     {0x2769, 0x2769}, {0x276b, 0x276b}, {0x276d, 0x276d}, {0x276f, 0x276f}, 
@@ -773,9 +773,9 @@
     {0xfe40, 0xfe40}, {0xfe42, 0xfe42}, {0xfe44, 0xfe44}, {0xfe48, 0xfe48}, 
     {0xfe5a, 0xfe5a}, {0xfe5c, 0xfe5c}, {0xfe5e, 0xfe5e}, {0xff09, 0xff09}, 
     {0xff3d, 0xff3d}, {0xff5d, 0xff5d}, {0xff60, 0xff60}, {0xff63, 0xff63} };
-static xmlChRangeGroup xmlPeG = {63,0,xmlPeS,NULL};
+static const xmlChRangeGroup xmlPeG = {63,0,(xmlChSRangePtr)xmlPeS,NULL};
 
-static xmlChSRange xmlPoS[] = {{0x21, 0x23}, {0x25, 0x27}, {0x2a, 0x2a}, 
+static const xmlChSRange xmlPoS[] = {{0x21, 0x23}, {0x25, 0x27}, {0x2a, 0x2a}, 
     {0x2c, 0x2c}, {0x2e, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40}, {0x5c, 0x5c}, 
     {0xa1, 0xa1}, {0xb7, 0xb7}, {0xbf, 0xbf}, {0x37e, 0x37e}, 
     {0x387, 0x387}, {0x55a, 0x55f}, {0x589, 0x589}, {0x5be, 0x5be}, 
@@ -793,10 +793,10 @@
     {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff07}, 
     {0xff0a, 0xff0a}, {0xff0c, 0xff0c}, {0xff0e, 0xff0f}, {0xff1a, 0xff1b}, 
     {0xff1f, 0xff20}, {0xff3c, 0xff3c}, {0xff61, 0xff61}, {0xff64, 0xff64} };
-static xmlChLRange xmlPoL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
-static xmlChRangeGroup xmlPoG = {72,2,xmlPoS,xmlPoL};
+static const xmlChLRange xmlPoL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
+static const xmlChRangeGroup xmlPoG = {72,2,(xmlChSRangePtr)xmlPoS,(xmlChLRangePtr)xmlPoL};
 
-static xmlChSRange xmlPsS[] = {{0x28, 0x28}, {0x5b, 0x5b}, {0x7b, 0x7b}, 
+static const xmlChSRange xmlPsS[] = {{0x28, 0x28}, {0x5b, 0x5b}, {0x7b, 0x7b}, 
     {0xf3a, 0xf3a}, {0xf3c, 0xf3c}, {0x169b, 0x169b}, {0x201a, 0x201a}, 
     {0x201e, 0x201e}, {0x2045, 0x2045}, {0x207d, 0x207d}, {0x208d, 0x208d}, 
     {0x2329, 0x2329}, {0x23b4, 0x23b4}, {0x2768, 0x2768}, {0x276a, 0x276a}, 
@@ -813,9 +813,9 @@
     {0xfe43, 0xfe43}, {0xfe47, 0xfe47}, {0xfe59, 0xfe59}, {0xfe5b, 0xfe5b}, 
     {0xfe5d, 0xfe5d}, {0xff08, 0xff08}, {0xff3b, 0xff3b}, {0xff5b, 0xff5b}, 
     {0xff5f, 0xff5f}, {0xff62, 0xff62} };
-static xmlChRangeGroup xmlPsG = {65,0,xmlPsS,NULL};
+static const xmlChRangeGroup xmlPsG = {65,0,(xmlChSRangePtr)xmlPsS,NULL};
 
-static xmlChSRange xmlSS[] = {{0x24, 0x24}, {0x2b, 0x2b}, {0x3c, 0x3e}, 
+static const xmlChSRange xmlSS[] = {{0x24, 0x24}, {0x2b, 0x2b}, {0x3c, 0x3e}, 
     {0x5e, 0x5e}, {0x60, 0x60}, {0x7c, 0x7c}, {0x7e, 0x7e}, {0xa2, 0xa9}, 
     {0xac, 0xac}, {0xae, 0xb1}, {0xb4, 0xb4}, {0xb6, 0xb6}, {0xb8, 0xb8}, 
     {0xd7, 0xd7}, {0xf7, 0xf7}, {0x2c2, 0x2c5}, {0x2d2, 0x2df}, 
@@ -848,30 +848,30 @@
     {0xfe64, 0xfe66}, {0xfe69, 0xfe69}, {0xff04, 0xff04}, {0xff0b, 0xff0b}, 
     {0xff1c, 0xff1e}, {0xff3e, 0xff3e}, {0xff40, 0xff40}, {0xff5c, 0xff5c}, 
     {0xff5e, 0xff5e}, {0xffe0, 0xffe6}, {0xffe8, 0xffee}, {0xfffc, 0xfffd} };
-static xmlChLRange xmlSL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, 
+static const xmlChLRange xmlSL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, 
     {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164}, 
     {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, 
     {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356}, {0x1d6c1, 0x1d6c1}, 
     {0x1d6db, 0x1d6db}, {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, 
     {0x1d735, 0x1d735}, {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, 
     {0x1d789, 0x1d789}, {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} };
-static xmlChRangeGroup xmlSG = {133,20,xmlSS,xmlSL};
+static const xmlChRangeGroup xmlSG = {133,20,(xmlChSRangePtr)xmlSS,(xmlChLRangePtr)xmlSL};
 
-static xmlChSRange xmlScS[] = {{0x24, 0x24}, {0xa2, 0xa5}, {0x9f2, 0x9f3}, 
+static const xmlChSRange xmlScS[] = {{0x24, 0x24}, {0xa2, 0xa5}, {0x9f2, 0x9f3}, 
     {0xaf1, 0xaf1}, {0xbf9, 0xbf9}, {0xe3f, 0xe3f}, {0x17db, 0x17db}, 
     {0x20a0, 0x20b1}, {0xfdfc, 0xfdfc}, {0xfe69, 0xfe69}, {0xff04, 0xff04}, 
     {0xffe0, 0xffe1}, {0xffe5, 0xffe6} };
-static xmlChRangeGroup xmlScG = {13,0,xmlScS,NULL};
+static const xmlChRangeGroup xmlScG = {13,0,(xmlChSRangePtr)xmlScS,NULL};
 
-static xmlChSRange xmlSkS[] = {{0x5e, 0x5e}, {0x60, 0x60}, {0xa8, 0xa8}, 
+static const xmlChSRange xmlSkS[] = {{0x5e, 0x5e}, {0x60, 0x60}, {0xa8, 0xa8}, 
     {0xaf, 0xaf}, {0xb4, 0xb4}, {0xb8, 0xb8}, {0x2c2, 0x2c5}, 
     {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375}, 
     {0x384, 0x385}, {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, 
     {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x309b, 0x309c}, 
     {0xff3e, 0xff3e}, {0xff40, 0xff40}, {0xffe3, 0xffe3} };
-static xmlChRangeGroup xmlSkG = {22,0,xmlSkS,NULL};
+static const xmlChRangeGroup xmlSkG = {22,0,(xmlChSRangePtr)xmlSkS,NULL};
 
-static xmlChSRange xmlSmS[] = {{0x2b, 0x2b}, {0x3c, 0x3e}, {0x7c, 0x7c}, 
+static const xmlChSRange xmlSmS[] = {{0x2b, 0x2b}, {0x3c, 0x3e}, {0x7c, 0x7c}, 
     {0x7e, 0x7e}, {0xac, 0xac}, {0xb1, 0xb1}, {0xd7, 0xd7}, {0xf7, 0xf7}, 
     {0x3f6, 0x3f6}, {0x2044, 0x2044}, {0x2052, 0x2052}, {0x207a, 0x207c}, 
     {0x208a, 0x208c}, {0x2140, 0x2144}, {0x214b, 0x214b}, {0x2190, 0x2194}, 
@@ -883,13 +883,13 @@
     {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2aff}, {0xfb29, 0xfb29}, 
     {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xff0b, 0xff0b}, {0xff1c, 0xff1e}, 
     {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe2, 0xffe2}, {0xffe9, 0xffec} };
-static xmlChLRange xmlSmL[] = {{0x1d6c1, 0x1d6c1}, {0x1d6db, 0x1d6db}, 
+static const xmlChLRange xmlSmL[] = {{0x1d6c1, 0x1d6c1}, {0x1d6db, 0x1d6db}, 
     {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, {0x1d735, 0x1d735}, 
     {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, {0x1d789, 0x1d789}, 
     {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} };
-static xmlChRangeGroup xmlSmG = {48,10,xmlSmS,xmlSmL};
+static const xmlChRangeGroup xmlSmG = {48,10,(xmlChSRangePtr)xmlSmS,(xmlChLRangePtr)xmlSmL};
 
-static xmlChSRange xmlSoS[] = {{0xa6, 0xa7}, {0xa9, 0xa9}, {0xae, 0xae}, 
+static const xmlChSRange xmlSoS[] = {{0xa6, 0xa7}, {0xa9, 0xa9}, {0xae, 0xae}, 
     {0xb0, 0xb0}, {0xb6, 0xb6}, {0x482, 0x482}, {0x60e, 0x60f}, 
     {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9fa, 0x9fa}, {0xb70, 0xb70}, 
     {0xbf3, 0xbf8}, {0xbfa, 0xbfa}, {0xf01, 0xf03}, {0xf13, 0xf17}, 
@@ -915,19 +915,19 @@
     {0x3260, 0x327d}, {0x327f, 0x327f}, {0x328a, 0x32b0}, {0x32c0, 0x32fe}, 
     {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, {0xa490, 0xa4c6}, {0xfdfd, 0xfdfd}, 
     {0xffe4, 0xffe4}, {0xffe8, 0xffe8}, {0xffed, 0xffee}, {0xfffc, 0xfffd} };
-static xmlChLRange xmlSoL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, 
+static const xmlChLRange xmlSoL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f}, 
     {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164}, 
     {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9}, 
     {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356} };
-static xmlChRangeGroup xmlSoG = {103,10,xmlSoS,xmlSoL};
+static const xmlChRangeGroup xmlSoG = {103,10,(xmlChSRangePtr)xmlSoS,(xmlChLRangePtr)xmlSoL};
 
-static xmlChSRange xmlZS[] = {{0x20, 0x20}, {0xa0, 0xa0}, {0x1680, 0x1680}, 
+static const xmlChSRange xmlZS[] = {{0x20, 0x20}, {0xa0, 0xa0}, {0x1680, 0x1680}, 
     {0x180e, 0x180e}, {0x2000, 0x200b}, {0x2028, 0x2029}, {0x202f, 0x202f}, 
     {0x205f, 0x205f}, {0x3000, 0x3000} };
-static xmlChRangeGroup xmlZG = {9,0,xmlZS,NULL};
+static const xmlChRangeGroup xmlZG = {9,0,(xmlChSRangePtr)xmlZS,NULL};
 
-xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, 128};
-xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, 36};
+const xmlUnicodeNameTable xmlUnicodeBlockTbl = {(xmlUnicodeRange *)xmlUnicodeBlocks, 128};
+const xmlUnicodeNameTable xmlUnicodeCatTbl = {(xmlUnicodeRange *)xmlUnicodeCats, 36};
 
 /**
  * xmlUnicodeLookup:
@@ -939,7 +939,7 @@
  * Returns pointer to range function if found, otherwise NULL
  */
 static xmlIntFunc
-*xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname) {
+*xmlUnicodeLookup(const xmlUnicodeNameTable *tptr, const char *tname) {
     int low, high, mid, cmp;
     xmlUnicodeRange *sptr;
 
@@ -2653,7 +2653,7 @@
  */
 int
 xmlUCSIsCatC(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlCG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlCG));
 }
 
 /**
@@ -2680,7 +2680,7 @@
  */
 int
 xmlUCSIsCatCf(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlCfG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlCfG));
 }
 
 /**
@@ -2727,7 +2727,7 @@
  */
 int
 xmlUCSIsCatL(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlLG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlLG));
 }
 
 /**
@@ -2740,7 +2740,7 @@
  */
 int
 xmlUCSIsCatLl(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlLlG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlLlG));
 }
 
 /**
@@ -2753,7 +2753,7 @@
  */
 int
 xmlUCSIsCatLm(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlLmG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlLmG));
 }
 
 /**
@@ -2766,7 +2766,7 @@
  */
 int
 xmlUCSIsCatLo(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlLoG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlLoG));
 }
 
 /**
@@ -2779,7 +2779,7 @@
  */
 int
 xmlUCSIsCatLt(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlLtG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlLtG));
 }
 
 /**
@@ -2792,7 +2792,7 @@
  */
 int
 xmlUCSIsCatLu(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlLuG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlLuG));
 }
 
 /**
@@ -2805,7 +2805,7 @@
  */
 int
 xmlUCSIsCatM(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlMG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlMG));
 }
 
 /**
@@ -2818,7 +2818,7 @@
  */
 int
 xmlUCSIsCatMc(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlMcG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlMcG));
 }
 
 /**
@@ -2847,7 +2847,7 @@
  */
 int
 xmlUCSIsCatMn(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlMnG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlMnG));
 }
 
 /**
@@ -2860,7 +2860,7 @@
  */
 int
 xmlUCSIsCatN(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlNG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlNG));
 }
 
 /**
@@ -2873,7 +2873,7 @@
  */
 int
 xmlUCSIsCatNd(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlNdG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlNdG));
 }
 
 /**
@@ -2904,7 +2904,7 @@
  */
 int
 xmlUCSIsCatNo(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlNoG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlNoG));
 }
 
 /**
@@ -2917,7 +2917,7 @@
  */
 int
 xmlUCSIsCatP(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlPG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlPG));
 }
 
 /**
@@ -2950,7 +2950,7 @@
  */
 int
 xmlUCSIsCatPd(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlPdG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlPdG));
 }
 
 /**
@@ -2963,7 +2963,7 @@
  */
 int
 xmlUCSIsCatPe(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlPeG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlPeG));
 }
 
 /**
@@ -3009,7 +3009,7 @@
  */
 int
 xmlUCSIsCatPo(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlPoG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlPoG));
 }
 
 /**
@@ -3022,7 +3022,7 @@
  */
 int
 xmlUCSIsCatPs(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlPsG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlPsG));
 }
 
 /**
@@ -3035,7 +3035,7 @@
  */
 int
 xmlUCSIsCatS(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlSG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlSG));
 }
 
 /**
@@ -3048,7 +3048,7 @@
  */
 int
 xmlUCSIsCatSc(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlScG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlScG));
 }
 
 /**
@@ -3061,7 +3061,7 @@
  */
 int
 xmlUCSIsCatSk(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlSkG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlSkG));
 }
 
 /**
@@ -3074,7 +3074,7 @@
  */
 int
 xmlUCSIsCatSm(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlSmG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlSmG));
 }
 
 /**
@@ -3087,7 +3087,7 @@
  */
 int
 xmlUCSIsCatSo(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlSoG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlSoG));
 }
 
 /**
@@ -3100,7 +3100,7 @@
  */
 int
 xmlUCSIsCatZ(int code) {
-    return(xmlCharInRange((unsigned int)code, &xmlZG));
+    return(xmlCharInRange((unsigned int)code, (xmlChRangeGroupPtr)&xmlZG));
 }
 
 /**
