summaryrefslogtreecommitdiff
path: root/contrib/tsearch2/stopword.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tsearch2/stopword.c')
-rw-r--r--contrib/tsearch2/stopword.c129
1 files changed, 73 insertions, 56 deletions
diff --git a/contrib/tsearch2/stopword.c b/contrib/tsearch2/stopword.c
index 2c2874b7f88..f91abeb460e 100644
--- a/contrib/tsearch2/stopword.c
+++ b/contrib/tsearch2/stopword.c
@@ -1,4 +1,4 @@
-/*
+/*
* stopword library
* Teodor Sigaev <[email protected]>
*/
@@ -13,97 +13,114 @@
#define STOPBUFLEN 4096
-char*
-lowerstr(char *str) {
- char *ptr=str;
- while(*ptr) {
- *ptr = tolower(*(unsigned char*)ptr);
+char *
+lowerstr(char *str)
+{
+ char *ptr = str;
+
+ while (*ptr)
+ {
+ *ptr = tolower(*(unsigned char *) ptr);
ptr++;
}
return str;
}
void
-freestoplist(StopList *s) {
- char **ptr=s->stop;
- if ( ptr )
- while( *ptr && s->len >0 ) {
+freestoplist(StopList * s)
+{
+ char **ptr = s->stop;
+
+ if (ptr)
+ while (*ptr && s->len > 0)
+ {
free(*ptr);
- ptr++; s->len--;
- free(s->stop);
- }
- memset(s,0,sizeof(StopList));
+ ptr++;
+ s->len--;
+ free(s->stop);
+ }
+ memset(s, 0, sizeof(StopList));
}
void
-readstoplist(text *in, StopList *s) {
- char **stop=NULL;
- s->len=0;
- if ( in && VARSIZE(in) - VARHDRSZ > 0 ) {
- char *filename=text2char(in);
- FILE *hin=NULL;
- char buf[STOPBUFLEN];
- int reallen=0;
-
- if ( (hin=fopen(filename,"r")) == NULL )
+readstoplist(text *in, StopList * s)
+{
+ char **stop = NULL;
+
+ s->len = 0;
+ if (in && VARSIZE(in) - VARHDRSZ > 0)
+ {
+ char *filename = text2char(in);
+ FILE *hin = NULL;
+ char buf[STOPBUFLEN];
+ int reallen = 0;
+
+ if ((hin = fopen(filename, "r")) == NULL)
ereport(ERROR,
(errcode(ERRCODE_CONFIG_FILE_ERROR),
errmsg("could not open file \"%s\": %m",
- filename)));
+ filename)));
- while( fgets(buf,STOPBUFLEN,hin) ) {
- buf[strlen(buf)-1] = '\0';
- if ( *buf=='\0' ) continue;
+ while (fgets(buf, STOPBUFLEN, hin))
+ {
+ buf[strlen(buf) - 1] = '\0';
+ if (*buf == '\0')
+ continue;
- if ( s->len>= reallen ) {
- char **tmp;
- reallen=(reallen) ? reallen*2 : 16;
- tmp=(char**)realloc((void*)stop, sizeof(char*)*reallen);
- if (!tmp) {
+ if (s->len >= reallen)
+ {
+ char **tmp;
+
+ reallen = (reallen) ? reallen * 2 : 16;
+ tmp = (char **) realloc((void *) stop, sizeof(char *) * reallen);
+ if (!tmp)
+ {
freestoplist(s);
- fclose(hin);
+ fclose(hin);
ereport(ERROR,
(errcode(ERRCODE_OUT_OF_MEMORY),
errmsg("out of memory")));
}
- stop=tmp;
+ stop = tmp;
}
-
- stop[s->len]=strdup(buf);
- if ( !stop[s->len] ) {
+
+ stop[s->len] = strdup(buf);
+ if (!stop[s->len])
+ {
freestoplist(s);
- fclose(hin);
+ fclose(hin);
ereport(ERROR,
(errcode(ERRCODE_OUT_OF_MEMORY),
errmsg("out of memory")));
}
- if ( s->wordop )
- stop[s->len]=(s->wordop)(stop[s->len]);
+ if (s->wordop)
+ stop[s->len] = (s->wordop) (stop[s->len]);
- (s->len)++;
+ (s->len)++;
}
fclose(hin);
- pfree(filename);
+ pfree(filename);
}
- s->stop=stop;
-}
+ s->stop = stop;
+}
static int
-comparestr(const void *a, const void *b) {
- return strcmp( *(char**)a, *(char**)b );
+comparestr(const void *a, const void *b)
+{
+ return strcmp(*(char **) a, *(char **) b);
}
void
-sortstoplist(StopList *s) {
- if (s->stop && s->len>0)
- qsort(s->stop, s->len, sizeof(char*), comparestr);
+sortstoplist(StopList * s)
+{
+ if (s->stop && s->len > 0)
+ qsort(s->stop, s->len, sizeof(char *), comparestr);
}
bool
-searchstoplist(StopList *s, char *key) {
- if ( s->wordop )
- key=(*(s->wordop))(key);
- return ( s->stop && s->len>0 && bsearch(&key, s->stop, s->len, sizeof(char*), comparestr) ) ? true : false;
+searchstoplist(StopList * s, char *key)
+{
+ if (s->wordop)
+ key = (*(s->wordop)) (key);
+ return (s->stop && s->len > 0 && bsearch(&key, s->stop, s->len, sizeof(char *), comparestr)) ? true : false;
}
-
-