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