Commit | Line | Data |
---|---|---|
6554f91c TL |
1 | /* tc.c: find character not in table to delimit fields */ |
2 | # include "t..c" | |
3 | choochar() | |
4 | { | |
5 | /* choose funny characters to delimit fields */ | |
6 | int had[128], ilin,icol, k; | |
7 | char *s; | |
8 | for(icol=0; icol<128; icol++) | |
9 | had[icol]=0; | |
10 | F1 = F2 = 0; | |
11 | for(ilin=0;ilin<nlin;ilin++) | |
12 | { | |
13 | if (instead[ilin]) continue; | |
14 | if (fullbot[ilin]) continue; | |
15 | for(icol=0; icol<ncol; icol++) | |
16 | { | |
17 | k = ctype(ilin, icol); | |
18 | if (k==0 || k == '-' || k == '=') | |
19 | continue; | |
20 | s = table[ilin][icol].col; | |
21 | if (point(s)) | |
22 | while (*s) | |
23 | had[*s++]=1; | |
24 | s=table[ilin][icol].rcol; | |
25 | if (point(s)) | |
26 | while (*s) | |
27 | had[*s++]=1; | |
28 | } | |
29 | } | |
30 | /* choose first funny character */ | |
31 | for( | |
32 | s="\002\003\005\006\007!%&#/?,:;<=>@`^~_{}+-*ABCDEFGHIJKMNOPQRSTUVWXYZabcdefgjkoqrstwxyz"; | |
33 | *s; s++) | |
34 | { | |
35 | if (had[*s]==0) | |
36 | { | |
37 | F1= *s; | |
38 | had[F1]=1; | |
39 | break; | |
40 | } | |
41 | } | |
42 | /* choose second funny character */ | |
43 | for( | |
44 | s="\002\003\005\006\007:_~^`@;,<=>#%&!/?{}+-*ABCDEFGHIJKMNOPQRSTUVWXZabcdefgjkoqrstuwxyz"; | |
45 | *s; s++) | |
46 | { | |
47 | if (had[*s]==0) | |
48 | { | |
49 | F2= *s; | |
50 | break; | |
51 | } | |
52 | } | |
53 | if (F1==0 || F2==0) | |
54 | error("couldn't find characters to use for delimiters"); | |
55 | return; | |
56 | } | |
57 | point(s) | |
58 | { | |
59 | return(s>= 128 || s<0); | |
60 | } |