X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rset%2Frsnull.c;h=c66704e00f9645d03cebade3c2a3023fc37cdaee;hb=0245f556af399689056b7810ed0e3de93021ad4a;hp=8c597b76087bcd9c19a719ce86109589ed8612b0;hpb=b7ed8922d365e24874e561b7347c2c2ad682d6d8;p=idzebra-moved-to-github.git diff --git a/rset/rsnull.c b/rset/rsnull.c index 8c597b7..c66704e 100644 --- a/rset/rsnull.c +++ b/rset/rsnull.c @@ -4,7 +4,22 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: rsnull.c,v $ - * Revision 1.1 1995-09-06 10:35:44 adam + * Revision 1.5 1995-10-10 14:00:04 adam + * Function rset_open changed its wflag parameter to general flags. + * + * Revision 1.4 1995/10/06 14:38:06 adam + * New result set method: r_score. + * Local no (sysno) and score is transferred to retrieveCtrl. + * + * Revision 1.3 1995/09/08 14:52:42 adam + * Work on relevance feedback. + * + * Revision 1.2 1995/09/07 13:58:43 adam + * New parameter: result-set file descriptor (RSFD) to support multiple + * positions within the same result-set. + * Boolean operators: and, or, not implemented. + * + * Revision 1.1 1995/09/06 10:35:44 adam * Null set implemented. * */ @@ -14,13 +29,14 @@ #include static rset_control *r_create(const struct rset_control *sel, void *parms); -static int r_open (rset_control *ct, int wflag); -static void r_close (rset_control *ct); +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 (rset_control *ct); +static void r_rewind (RSFD rfd); static int r_count (rset_control *ct); -static int r_read (rset_control *ct, void *buf); -static int r_write (rset_control *ct, const void *buf); +static int r_read (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 = { @@ -33,7 +49,8 @@ static const rset_control control = r_rewind, r_count, r_read, - r_write + r_write, + r_score }; const rset_control *rset_kind_null = &control; @@ -42,33 +59,31 @@ static rset_control *r_create(const struct rset_control *sel, void *parms) { rset_control *newct; - logf (LOG_DEBUG, "rsnull_create(%s)", sel->desc); newct = xmalloc(sizeof(*newct)); memcpy(newct, sel, sizeof(*sel)); return newct; } -static int r_open(rset_control *ct, int wflag) +static RSFD r_open (rset_control *ct, int flag) { - if (wflag) + if (flag & RSETF_WRITE) { logf (LOG_FATAL, "NULL set type is read-only"); - return -1; + return NULL; } - return 0; + return ""; } -static void r_close(rset_control *ct) +static void r_close (RSFD rfd) { - /* NOP */ } -static void r_delete(rset_control *ct) +static void r_delete (rset_control *ct) { xfree(ct); } -static void r_rewind(rset_control *ct) +static void r_rewind (RSFD rfd) { logf (LOG_DEBUG, "rsnull_rewind"); } @@ -78,13 +93,20 @@ static int r_count (rset_control *ct) return 0; } -static int r_read (rset_control *ct, void *buf) +static int r_read (RSFD rfd, void *buf) { return 0; } -static int r_write (rset_control *ct, const void *buf) +static int r_write (RSFD rfd, const void *buf) { logf (LOG_FATAL, "NULL set type is read-only"); return -1; } + +static int r_score (RSFD rfd, int *score) +{ + *score = -1; + return -1; +} +