4.4BSD/usr/src/old/refer/hunt/hunt3.c
/*-
* This module is believed to contain source code proprietary to AT&T.
* Use and redistribution is subject to the Berkeley Software License
* Agreement and your Software Agreement with AT&T (Western Electric).
*/
#ifndef lint
static char sccsid[] = "@(#)hunt3.c 4.3 (Berkeley) 4/18/91";
#endif /* not lint */
#include "refer..c"
#define BSIZ 250
getq(v)
char *v[];
{
static char buff[BSIZ];
static int eof = 0;
extern char *sinput;
char *p;
int c, n = 0, las = 0;
if (eof) return(-1);
p = buff;
while ( (c = (sinput ? *sinput++ : getchar()) ) > 0)
{
if (c== '\n')
break;
if (isalpha(c) || isdigit(c))
{
if (las==0)
{
v[n++] = p;
las=1;
}
if (las++ <= 6)
*p++ = c;
}
else
{
if (las>0)
*p++ = 0;
las=0;
}
}
*p=0;
if (p > buff + BSIZ)
fprintf(stderr, "query long than %d characters\n", BSIZ);
assert(p < buff + BSIZ);
if (sinput==0 && c<= 0) eof=1;
# if D1
fprintf(stderr, "no. keys %d\n",n);
for(c=0; c<n; c++)
fprintf(stderr, "keys X%sX\n", v[c]);
# endif
return(n);
}