1 /* by tino@augsburg.net
16 if ((dir
=opendir("."))==0)
22 while ((dp
=readdir(dir
))!=0)
26 len
= strlen(dp
->d_name
);
29 if (strcmp(dp
->d_name
+len
-4, ".TST"))
33 fprintf(stderr
, "warning: %s\n", dp
->d_name
);
38 printf(" double%d\n", c
);
50 unsigned char map
[256], upper
[256], lower
[256];
56 printf("There are *.TST files, please remove\n");
67 strcpy(name
, "..TST");
70 if ((fd
=fopen(name
, "w"))==0)
90 /* Uppercase characters are detected above on:
91 * The character is mapped to itself and there is a
92 * character which maps to it.
93 * Lowercase characters are the lowest character pointing to another one.
94 * Else it is a one way character.
96 * For this reason we have to process the list
97 * 1) for 'one way' characters
98 * 'one way' is something which is no upper and no lower character.
99 * This is an awful, crude and ugly hack due to missing Samba support.
100 * 2) for true uppercase/lowercase characters
101 * 3) for standalone characters
102 * Note that there might be characters which do not fall into 1 to 3.
104 printf("\n valid chars =");
106 if (map
[i
] && map
[i
]!=i
&& lower
[map
[i
]]!=i
)
109 printf(" %d:%d %d:%d %d:%d", /*1*/
110 map
[i
], i
, i
, map
[i
], map
[i
], map
[i
]);
112 fprintf(stderr
, "ignoring map %d->%d because of %d->%d\n",
113 lower
[i
], i
, i
, map
[i
]);
116 if (map
[i
] && map
[i
]==i
)
118 printf(" %d:%d", lower
[i
], i
); /*2*/
120 printf(" %d", i
); /*3*/