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*/