1*14513Ssam #ifndef lint 2*14513Ssam static char sccsid[] = "@(#)tc.c 4.2 08/11/83"; 3*14513Ssam #endif 411038Sshannon 511038Sshannon /* tc.c: find character not in table to delimit fields */ 611038Sshannon # include "t..c" 711038Sshannon choochar() 811038Sshannon { 911038Sshannon /* choose funny characters to delimit fields */ 1011038Sshannon int had[128], ilin,icol, k; 1111038Sshannon char *s; 1211038Sshannon for(icol=0; icol<128; icol++) 1311038Sshannon had[icol]=0; 1411038Sshannon F1 = F2 = 0; 1511038Sshannon for(ilin=0;ilin<nlin;ilin++) 1611038Sshannon { 1711038Sshannon if (instead[ilin]) continue; 1811038Sshannon if (fullbot[ilin]) continue; 1911038Sshannon for(icol=0; icol<ncol; icol++) 2011038Sshannon { 2111038Sshannon k = ctype(ilin, icol); 2211038Sshannon if (k==0 || k == '-' || k == '=') 2311038Sshannon continue; 2411038Sshannon s = table[ilin][icol].col; 2511038Sshannon if (point(s)) 2611038Sshannon while (*s) 2711038Sshannon had[*s++]=1; 2811038Sshannon s=table[ilin][icol].rcol; 2911038Sshannon if (point(s)) 3011038Sshannon while (*s) 3111038Sshannon had[*s++]=1; 3211038Sshannon } 3311038Sshannon } 3411038Sshannon /* choose first funny character */ 3511038Sshannon for( 3611038Sshannon s="\002\003\005\006\007!%&#/?,:;<=>@`^~_{}+-*ABCDEFGHIJKMNOPQRSTUVWXYZabcdefgjkoqrstwxyz"; 3711038Sshannon *s; s++) 3811038Sshannon { 3911038Sshannon if (had[*s]==0) 4011038Sshannon { 4111038Sshannon F1= *s; 4211038Sshannon had[F1]=1; 4311038Sshannon break; 4411038Sshannon } 4511038Sshannon } 4611038Sshannon /* choose second funny character */ 4711038Sshannon for( 4811038Sshannon s="\002\003\005\006\007:_~^`@;,<=>#%&!/?{}+-*ABCDEFGHIJKMNOPQRSTUVWXZabcdefgjkoqrstuwxyz"; 4911038Sshannon *s; s++) 5011038Sshannon { 5111038Sshannon if (had[*s]==0) 5211038Sshannon { 5311038Sshannon F2= *s; 5411038Sshannon break; 5511038Sshannon } 5611038Sshannon } 5711038Sshannon if (F1==0 || F2==0) 5811038Sshannon error("couldn't find characters to use for delimiters"); 5911038Sshannon return; 6011038Sshannon } 6111038Sshannon point(s) 6211038Sshannon { 6311038Sshannon return(s>= 128 || s<0); 6411038Sshannon } 65