aboutsummaryrefslogtreecommitdiff
path: root/contrib/tsearch2/dict_ex.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tsearch2/dict_ex.c')
-rw-r--r--contrib/tsearch2/dict_ex.c58
1 files changed, 33 insertions, 25 deletions
diff --git a/contrib/tsearch2/dict_ex.c b/contrib/tsearch2/dict_ex.c
index ead96106871..a8fb20453ba 100644
--- a/contrib/tsearch2/dict_ex.c
+++ b/contrib/tsearch2/dict_ex.c
@@ -1,5 +1,5 @@
-/*
- * example of dictionary
+/*
+ * example of dictionary
* Teodor Sigaev <teodor@sigaev.ru>
*/
#include <errno.h>
@@ -11,30 +11,35 @@
#include "dict.h"
#include "common.h"
-typedef struct {
+typedef struct
+{
StopList stoplist;
-} DictExample;
+} DictExample;
PG_FUNCTION_INFO_V1(dex_init);
-Datum dex_init(PG_FUNCTION_ARGS);
+Datum dex_init(PG_FUNCTION_ARGS);
+
PG_FUNCTION_INFO_V1(dex_lexize);
-Datum dex_lexize(PG_FUNCTION_ARGS);
+Datum dex_lexize(PG_FUNCTION_ARGS);
-Datum
-dex_init(PG_FUNCTION_ARGS) {
- DictExample *d = (DictExample*)malloc( sizeof(DictExample) );
+Datum
+dex_init(PG_FUNCTION_ARGS)
+{
+ DictExample *d = (DictExample *) malloc(sizeof(DictExample));
- if ( !d )
+ if (!d)
ereport(ERROR,
(errcode(ERRCODE_OUT_OF_MEMORY),
errmsg("out of memory")));
- memset(d,0,sizeof(DictExample));
+ memset(d, 0, sizeof(DictExample));
+
+ d->stoplist.wordop = lowerstr;
+
+ if (!PG_ARGISNULL(0) && PG_GETARG_POINTER(0) != NULL)
+ {
+ text *in = PG_GETARG_TEXT_P(0);
- d->stoplist.wordop=lowerstr;
-
- if ( !PG_ARGISNULL(0) && PG_GETARG_POINTER(0)!=NULL ) {
- text *in = PG_GETARG_TEXT_P(0);
readstoplist(in, &(d->stoplist));
sortstoplist(&(d->stoplist));
PG_FREE_IF_COPY(in, 0);
@@ -44,18 +49,21 @@ dex_init(PG_FUNCTION_ARGS) {
}
Datum
-dex_lexize(PG_FUNCTION_ARGS) {
- DictExample *d = (DictExample*)PG_GETARG_POINTER(0);
- char *in = (char*)PG_GETARG_POINTER(1);
- char *txt = pnstrdup(in, PG_GETARG_INT32(2));
- char **res=palloc(sizeof(char*)*2);
+dex_lexize(PG_FUNCTION_ARGS)
+{
+ DictExample *d = (DictExample *) PG_GETARG_POINTER(0);
+ char *in = (char *) PG_GETARG_POINTER(1);
+ char *txt = pnstrdup(in, PG_GETARG_INT32(2));
+ char **res = palloc(sizeof(char *) * 2);
- if ( *txt=='\0' || searchstoplist(&(d->stoplist),txt) ) {
+ if (*txt == '\0' || searchstoplist(&(d->stoplist), txt))
+ {
pfree(txt);
- res[0]=NULL;
- } else
- res[0]=txt;
- res[1]=NULL;
+ res[0] = NULL;
+ }
+ else
+ res[0] = txt;
+ res[1] = NULL;
PG_RETURN_POINTER(res);
}