aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeodor Sigaev <teodor@sigaev.ru>2005-03-31 15:12:08 +0000
committerTeodor Sigaev <teodor@sigaev.ru>2005-03-31 15:12:08 +0000
commit7d19650a793969f49eef585c886ad3342911253f (patch)
tree4498b6f52f60bee426685882206e0b3013ea7035
parent12fa5c57acd845096247c7e0d9a78c61d169598f (diff)
downloadpostgresql-7d19650a793969f49eef585c886ad3342911253f.tar.gz
postgresql-7d19650a793969f49eef585c886ad3342911253f.zip
Fix various comparing functions
-rw-r--r--contrib/tsearch2/dict.c4
-rw-r--r--contrib/tsearch2/rank.c4
-rw-r--r--contrib/tsearch2/ts_cfg.c4
-rw-r--r--contrib/tsearch2/tsvector.c2
-rw-r--r--contrib/tsearch2/wparser.c4
5 files changed, 12 insertions, 6 deletions
diff --git a/contrib/tsearch2/dict.c b/contrib/tsearch2/dict.c
index 9ceb78ffb83..c55e3a28731 100644
--- a/contrib/tsearch2/dict.c
+++ b/contrib/tsearch2/dict.c
@@ -88,7 +88,9 @@ reset_dict(void)
static int
comparedict(const void *a, const void *b)
{
- return ((DictInfo *) a)->dict_id - ((DictInfo *) b)->dict_id;
+ if ( ((DictInfo *) a)->dict_id == ((DictInfo *) b)->dict_id )
+ return 0;
+ return ( ((DictInfo *) a)->dict_id < ((DictInfo *) b)->dict_id ) ? -1 : 1;
}
DictInfo *
diff --git a/contrib/tsearch2/rank.c b/contrib/tsearch2/rank.c
index 78f05f45676..c6cbd1c9591 100644
--- a/contrib/tsearch2/rank.c
+++ b/contrib/tsearch2/rank.c
@@ -386,7 +386,7 @@ static int
compareDocR(const void *a, const void *b)
{
if (((DocRepresentation *) a)->pos == ((DocRepresentation *) b)->pos)
- return 1;
+ return 0;
return (((DocRepresentation *) a)->pos > ((DocRepresentation *) b)->pos) ? 1 : -1;
}
@@ -652,7 +652,7 @@ static int
compareDocWord(const void *a, const void *b)
{
if (((DocWord *) a)->pos == ((DocWord *) b)->pos)
- return 1;
+ return 0;
return (((DocWord *) a)->pos > ((DocWord *) b)->pos) ? 1 : -1;
}
diff --git a/contrib/tsearch2/ts_cfg.c b/contrib/tsearch2/ts_cfg.c
index 0898b919240..c1f5178ec05 100644
--- a/contrib/tsearch2/ts_cfg.c
+++ b/contrib/tsearch2/ts_cfg.c
@@ -181,7 +181,9 @@ reset_cfg(void)
static int
comparecfg(const void *a, const void *b)
{
- return ((TSCfgInfo *) a)->id - ((TSCfgInfo *) b)->id;
+ if ( ((TSCfgInfo *) a)->id == ((TSCfgInfo *) b)->id )
+ return 0;
+ return ( ((TSCfgInfo *) a)->id < ((TSCfgInfo *) b)->id ) ? -1 : 1;
}
TSCfgInfo *
diff --git a/contrib/tsearch2/tsvector.c b/contrib/tsearch2/tsvector.c
index 5670c0cf5fc..f3afc9f2cd1 100644
--- a/contrib/tsearch2/tsvector.c
+++ b/contrib/tsearch2/tsvector.c
@@ -51,7 +51,7 @@ static int
comparePos(const void *a, const void *b)
{
if (((WordEntryPos *) a)->pos == ((WordEntryPos *) b)->pos)
- return 1;
+ return 0;
return (((WordEntryPos *) a)->pos > ((WordEntryPos *) b)->pos) ? 1 : -1;
}
diff --git a/contrib/tsearch2/wparser.c b/contrib/tsearch2/wparser.c
index b7e45e51885..7945357531e 100644
--- a/contrib/tsearch2/wparser.c
+++ b/contrib/tsearch2/wparser.c
@@ -87,7 +87,9 @@ reset_prs(void)
static int
compareprs(const void *a, const void *b)
{
- return ((WParserInfo *) a)->prs_id - ((WParserInfo *) b)->prs_id;
+ if ( ((WParserInfo *) a)->prs_id == ((WParserInfo *) b)->prs_id )
+ return 0;
+ return ( ((WParserInfo *) a)->prs_id < ((WParserInfo *) b)->prs_id ) ? -1 : 1;
}
WParserInfo *