1*12285Stut #ifndef lint 2*12285Stut static char *sccsid = "@(#)hunt3.c 4.1 (Berkeley) 05/06/83"; 3*12285Stut #endif 4*12285Stut 5*12285Stut #include "refer..c" 6*12285Stut #define BSIZ 250 7*12285Stut 8*12285Stut getq(v) 9*12285Stut char *v[]; 10*12285Stut { 11*12285Stut static char buff[BSIZ]; 12*12285Stut static int eof = 0; 13*12285Stut extern char *sinput; 14*12285Stut char *p; 15*12285Stut int c, n = 0, las = 0; 16*12285Stut if (eof) return(-1); 17*12285Stut p = buff; 18*12285Stut while ( (c = (sinput ? *sinput++ : getchar()) ) > 0) 19*12285Stut { 20*12285Stut if (c== '\n') 21*12285Stut break; 22*12285Stut if (isalpha(c) || isdigit(c)) 23*12285Stut { 24*12285Stut if (las==0) 25*12285Stut { 26*12285Stut v[n++] = p; 27*12285Stut las=1; 28*12285Stut } 29*12285Stut if (las++ <= 6) 30*12285Stut *p++ = c; 31*12285Stut } 32*12285Stut else 33*12285Stut { 34*12285Stut if (las>0) 35*12285Stut *p++ = 0; 36*12285Stut las=0; 37*12285Stut } 38*12285Stut } 39*12285Stut *p=0; 40*12285Stut assert(p<buff+BSIZ); 41*12285Stut if (sinput==0 && c<= 0) eof=1; 42*12285Stut # if D1 43*12285Stut fprintf(stderr, "no. keys %d\n",n); 44*12285Stut for(c=0; c<n; c++) 45*12285Stut fprintf(stderr, "keys X%sX\n", v[c]); 46*12285Stut # endif 47*12285Stut return(n); 48*12285Stut } 49