perf trace: Switch to using a struct for the aumented_raw_syscalls syscalls map values
[linux/fpc-iii.git] / Documentation / filesystems / cifs / winucase_convert.pl
blob322a9c833f2304b1c2fb1c1450f780ae975692c3
1 #!/usr/bin/perl -w
3 # winucase_convert.pl -- convert "Windows 8 Upper Case Mapping Table.txt" to
4 # a two-level set of C arrays.
6 # Copyright 2013: Jeff Layton <jlayton@redhat.com>
8 # This program is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
22 while(<>) {
23 next if (!/^0x(..)(..)\t0x(....)\t/);
24 $firstchar = hex($1);
25 $secondchar = hex($2);
26 $uppercase = hex($3);
28 $top[$firstchar][$secondchar] = $uppercase;
31 for ($i = 0; $i < 256; $i++) {
32 next if (!$top[$i]);
34 printf("static const wchar_t t2_%2.2x[256] = {", $i);
35 for ($j = 0; $j < 256; $j++) {
36 if (($j % 8) == 0) {
37 print "\n\t";
38 } else {
39 print " ";
41 printf("0x%4.4x,", $top[$i][$j] ? $top[$i][$j] : 0);
43 print "\n};\n\n";
46 printf("static const wchar_t *const toplevel[256] = {", $i);
47 for ($i = 0; $i < 256; $i++) {
48 if (($i % 8) == 0) {
49 print "\n\t";
50 } elsif ($top[$i]) {
51 print " ";
52 } else {
53 print " ";
56 if ($top[$i]) {
57 printf("t2_%2.2x,", $i);
58 } else {
59 print "NULL,";
62 print "\n};\n\n";