projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4_2 release
[unix-history]
/
usr
/
src
/
usr.bin
/
refer
/
hunt3.c
diff --git
a/usr/src/usr.bin/refer/hunt3.c
b/usr/src/usr.bin/refer/hunt3.c
index
839714c
..
b9d92e7
100644
(file)
--- a/
usr/src/usr.bin/refer/hunt3.c
+++ b/
usr/src/usr.bin/refer/hunt3.c
@@
-1,59
+1,50
@@
-# include "refer..c"
+#ifndef lint
+static char *sccsid = "@(#)hunt3.c 4.2 (Berkeley) 6/28/83";
+#endif
+
+#include "refer..c"
+#define BSIZ 250
+
getq(v)
getq(v)
-
char *v[];
+char *v[];
{
{
-# define BSIZ 250
-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)
+ 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 (c== '\n')
+
break;
+
if (isalpha(c) || isdigit(c))
{
{
- if (las==0)
+
if (las==0)
{
{
- v[n++] = p;
- las=1;
+
v[n++] = p;
+
las=1;
}
}
- if (las++ <= 6)
- *p++ = c;
+
if (las++ <= 6)
+
*p++ = c;
}
}
- else
+
else
{
{
- if (las>0)
- *p++ = 0;
- las=0;
+
if (las>0)
+
*p++ = 0;
+
las=0;
}
}
}
}
-*p=0;
-assert(p<buff+BSIZ);
-if (sinput==0 && c<= 0) eof=1;
-n = keycomp(v,n);
+ *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
# if D1
-fprintf(stderr, "no. keys %d\n",n);
-for(c=0; c<n; c++)
- fprintf(stderr, "keys X%sX\n", v[c]);
+
fprintf(stderr, "no. keys %d\n",n);
+
for(c=0; c<n; c++)
+
fprintf(stderr, "keys X%sX\n", v[c]);
# endif
# endif
-return(n);
-}
-keycomp(v,n) /* compress keys */
- char *v[];
-{
-int i, j, k;
-for(i=j=0; i<n; i++)
- {
- for(k=0; k<j; k++)
- if (strcmp(v[i], v[k])==0)
- break;
- if (k<j) /* found it */
- continue;
- v[j++] = v[i];
- }
-return(j);
+ return(n);
}
}