~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to source3/script/makeunicodecasemap.awk

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
function reset_vals() {
 
2
        upperstr = "";
 
3
        lowerstr = "";
 
4
        flagstr = "0";
 
5
}
 
6
 
 
7
function print_val() {
 
8
        upperstr = $13;
 
9
        lowerstr = $14;
 
10
        if ( upperstr == "" )
 
11
                upperstr = strval;
 
12
        if ( lowerstr == "" )
 
13
                lowerstr = strval;
 
14
 
 
15
        if ( $3 == "Lu" )
 
16
                flagstr = sprintf("%s|%s", flagstr, "UNI_UPPER");
 
17
        if ( $3 == "Ll" )
 
18
                flagstr = sprintf("%s|%s", flagstr, "UNI_LOWER");
 
19
        if ( val >= 48 && val <= 57)
 
20
                flagstr = sprintf("%s|%s", flagstr, "UNI_DIGIT");
 
21
        if ((val >= 48 && val <= 57) || (val >= 65 && val <= 70) || (val >=97 && val <= 102))
 
22
                flagstr = sprintf("%s|%s", flagstr, "UNI_XDIGIT");
 
23
        if ( val == 32 || (val >=9 && val <= 13))
 
24
                flagstr = sprintf("%s|%s", flagstr, "UNI_SPACE");
 
25
        if( index(flagstr, "0|") == 1)
 
26
                flagstr = substr(flagstr, 3, length(flagstr) - 2);
 
27
        printf("{ 0x%s, 0x%s, %s }, \t\t\t/* %s %s */\n", lowerstr, upperstr, flagstr, strval, $2);
 
28
        val++;
 
29
        strval=sprintf("%04X", val);
 
30
        reset_vals();
 
31
}
 
32
 
 
33
BEGIN {
 
34
        val=0
 
35
        FS=";"
 
36
        strval=sprintf("%04X", val);
 
37
        reset_vals();
 
38
}
 
39
 
 
40
{
 
41
        if ( $1 == strval ) {
 
42
                print_val();
 
43
        } else {
 
44
                while ( $1 != strval) {
 
45
                        printf("{ 0x%04X, 0x%04X, 0 }, \t\t\t/* %s NOMAP */\n", val, val, strval);
 
46
                        val++;
 
47
                        strval=sprintf("%04X", val);
 
48
                }
 
49
                print_val();
 
50
        }
 
51
}
 
52
 
 
53
END {
 
54
        while ( val < 65536 ) {
 
55
                printf("{ 0x%04X, 0x%04X, 0 }, \t\t\t/* %s NOMAP */\n", val, val, strval);
 
56
                val++;
 
57
                strval=sprintf("%04X", val);
 
58
        }
 
59
}