Do not vasprint stuff where not necessary
[kai/samba-autobuild/.git] / source3 / script / makeunicodecasemap.awk
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 }