Function rset_open changed its wflag parameter to general flags.
[idzebra-moved-to-github.git] / rset / rsbool.c
index f34a61f..ba61fc6 100644 (file)
@@ -4,7 +4,14 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: rsbool.c,v $
- * Revision 1.5  1995-09-08 14:52:41  adam
+ * Revision 1.7  1995-10-10 14:00:03  adam
+ * Function rset_open changed its wflag parameter to general flags.
+ *
+ * Revision 1.6  1995/10/06  14:38:05  adam
+ * New result set method: r_score.
+ * Local no (sysno) and score is transferred to retrieveCtrl.
+ *
+ * Revision 1.5  1995/09/08  14:52:41  adam
  * Work on relevance feedback.
  *
  * Revision 1.4  1995/09/08  08:54:04  adam
@@ -30,7 +37,7 @@
 #include <alexutil.h>
 
 static rset_control *r_create(const struct rset_control *sel, void *parms);
-static RSFD r_open (rset_control *ct, int wflag);
+static RSFD r_open (rset_control *ct, int flag);
 static void r_close (RSFD rfd);
 static void r_delete (rset_control *ct);
 static void r_rewind (RSFD rfd);
@@ -39,6 +46,7 @@ static int r_read_and (RSFD rfd, void *buf);
 static int r_read_or (RSFD rfd, void *buf);
 static int r_read_not (RSFD rfd, void *buf);
 static int r_write (RSFD rfd, const void *buf);
+static int r_score (RSFD rfd, int *score);
 
 static const rset_control control_and = 
 {
@@ -51,7 +59,8 @@ static const rset_control control_and =
     r_rewind,
     r_count,
     r_read_and,
-    r_write
+    r_write,
+    r_score
 };
 
 static const rset_control control_or = 
@@ -65,7 +74,8 @@ static const rset_control control_or =
     r_rewind,
     r_count,
     r_read_or,
-    r_write
+    r_write,
+    r_score
 };
 
 static const rset_control control_not = 
@@ -79,7 +89,8 @@ static const rset_control control_not =
     r_rewind,
     r_count,
     r_read_not,
-    r_write
+    r_write,
+    r_score
 };
 
 
@@ -124,12 +135,12 @@ static rset_control *r_create (const struct rset_control *sel, void *parms)
     return newct;
 }
 
-static RSFD r_open (rset_control *ct, int wflag)
+static RSFD r_open (rset_control *ct, int flag)
 {
     struct rset_bool_info *info = ct->buf;
     struct rset_bool_rfd *rfd;
 
-    if (wflag)
+    if (flag & RSETF_WRITE)
     {
        logf (LOG_FATAL, "bool set type is read-only");
        return NULL;
@@ -140,8 +151,8 @@ static RSFD r_open (rset_control *ct, int wflag)
 
     rfd->buf_l = xmalloc (info->key_size);
     rfd->buf_r = xmalloc (info->key_size);
-    rfd->rfd_l = rset_open (info->rset_l, wflag);
-    rfd->rfd_r = rset_open (info->rset_r, wflag);
+    rfd->rfd_l = rset_open (info->rset_l, flag);
+    rfd->rfd_r = rset_open (info->rset_r, flag);
     rfd->more_l = rset_read (info->rset_l, rfd->rfd_l, rfd->buf_l);
     rfd->more_r = rset_read (info->rset_r, rfd->rfd_r, rfd->buf_r);
     rfd->info = info;
@@ -320,3 +331,10 @@ static int r_write (RSFD rfd, const void *buf)
     logf (LOG_FATAL, "bool set type is read-only");
     return -1;
 }
+
+static int r_score (RSFD rfd, int *score)
+{
+    *score = -1;
+    return -1;
+}
+