Changes by: antona
Update of /cvsroot/linux-ntfs/ntfsprogs/ntfsprogs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26912/ntfsprogs
Modified Files:
upcase.c
Log Message:
Don't do it at the end and do it as we go along instead as I am already doing
in the kernel driver.
Index: upcase.c
===================================================================
RCS file: /cvsroot/linux-ntfs/ntfsprogs/ntfsprogs/upcase.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- upcase.c 4 Feb 2006 06:06:04 -0000 1.11
+++ upcase.c 4 Feb 2006 06:11:28 -0000 1.12
@@ -75,18 +75,16 @@ void init_upcase_table(ntfschar *uc, u32
memset(uc, 0, uc_len);
uc_len >>= 1;
- /* Generate the upcase table in cpu byte order. */
+ /* Generate the little endian Unicode upcase table used by ntfs. */
for (i = 0; (u32)i < uc_len; i++)
- uc[i] = i;
+ uc[i] = cpu_to_le16(i);
for (r = 0; uc_run_table[r][0]; r++)
for (i = uc_run_table[r][0]; i < uc_run_table[r][1]; i++)
- uc[i] += uc_run_table[r][2];
+ uc[i] = cpu_to_le16(le16_to_cpu(uc[i]) +
+ uc_run_table[r][2]);
for (r = 0; uc_dup_table[r][0]; r++)
for (i = uc_dup_table[r][0]; i < uc_dup_table[r][1]; i += 2)
- uc[i + 1]--;
+ uc[i + 1] = cpu_to_le16(le16_to_cpu(uc[i + 1]) - 1);
for (r = 0; uc_byte_table[r][0]; r++)
- uc[uc_byte_table[r][0]] = uc_byte_table[r][1];
- /* Convert the upcase table from cpu byte order to little endian. */
- for (i = 0; (u32)i < uc_len; i++)
- uc[i] = cpu_to_le16(uc[i]);
+ uc[uc_byte_table[r][0]] = cpu_to_le16(uc_byte_table[r][1]);
}
|