diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-11-29 05:03:15 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-11-29 05:03:15 +0000 |
commit | 80841f5763b3ab03a82ab0a18a9126d89ffed2d5 (patch) | |
tree | 427f7d0f6e623270e11f2402afca6431b282cc95 | |
parent | 568425709d11b2eed86643d18973542d0504d5ca (diff) | |
download | samba-80841f5763b3ab03a82ab0a18a9126d89ffed2d5.tar.gz samba-80841f5763b3ab03a82ab0a18a9126d89ffed2d5.tar.xz samba-80841f5763b3ab03a82ab0a18a9126d89ffed2d5.zip |
2nd attempt at fixing lame char tables on big endian machines
-rw-r--r-- | source/lib/util_unistr.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/lib/util_unistr.c b/source/lib/util_unistr.c index 5d4697e4415..44e792a9fd3 100644 --- a/source/lib/util_unistr.c +++ b/source/lib/util_unistr.c @@ -52,23 +52,23 @@ void load_case_tables(void) if (!upcase_table) { DEBUG(1,("creating lame upcase table\n")); upcase_table = malloc(0x20000); - for (i=0;i<256;i++) upcase_table[i] = UCS2_CHAR(islower(i)?toupper(i):i); - for (;i<0x10000;i++) upcase_table[i] = UCS2_CHAR(i); + for (i=0;i<0x10000;i++) upcase_table[i] = i; + for (i=0;i<256;i++) upcase_table[UCS2_CHAR(i)] = UCS2_CHAR(islower(i)?toupper(i):i); } if (!lowcase_table) { DEBUG(1,("creating lame lowcase table\n")); lowcase_table = malloc(0x20000); - for (i=0;i<256;i++) lowcase_table[i] = UCS2_CHAR(isupper(i)?tolower(i):i); - for (;i<0x10000;i++) lowcase_table[i] = UCS2_CHAR(i); + for (i=0;i<0x10000;i++) upcase_table[i] = i; + for (i=0;i<256;i++) lowcase_table[UCS2_CHAR(i)] = UCS2_CHAR(isupper(i)?tolower(i):i); } if (!valid_table) { const char *allowed = "!#$%&'()_-@^`~"; DEBUG(1,("creating lame valid table\n")); valid_table = malloc(0x10000); - for (i=0;i<256;i++) valid_table[i] = UCS2_CHAR(isalnum(i) || strchr(allowed,i)); - for (;i<0x10000;i++) valid_table[i] = 0; + for (0;i<0x10000;i++) valid_table[i] = 0; + for (i=0;i<256;i++) valid_table[UCS2_CHAR(i)] = isalnum(i) || strchr(allowed,i); } } |