Simple
authorSebastian Hammer <quinn@indexdata.com>
Tue, 22 Nov 1994 13:15:27 +0000 (13:15 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Tue, 22 Nov 1994 13:15:27 +0000 (13:15 +0000)
include/rset.h
rset/rsisam.c

index 68acc15..f7029a4 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: rset.h,v $
- * Revision 1.2  1994-11-04 13:21:21  quinn
+ * Revision 1.3  1994-11-22 13:15:27  quinn
+ * Simple
+ *
+ * Revision 1.2  1994/11/04  13:21:21  quinn
  * Working.
  *
  * Revision 1.1  1994/11/03  14:13:22  quinn
@@ -51,7 +54,10 @@ void rset_delete(RSET rs);
 /* int rset_count(RSET rs); */
 #define rset_count(rs, wflag) ((*(rs)->control->f_count)((rs)->control))
 
-int rset_read(RSET rs, void *buf);   /* change parameters */
+/* int rset_read(RSET rs, void *buf); */   /* change parameters */
+#define rset_read(rs, buf) ((*(rs)->control->f_read)((rs)->control, (buf)))
+
+
 int rset_write(RSET rs, void *buf);  /* change parameters */
 
 #endif
index 8879bd6..fe2acd9 100644 (file)
@@ -4,12 +4,16 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: rsisam.c,v $
- * Revision 1.2  1994-11-04 14:53:12  quinn
+ * Revision 1.3  1994-11-22 13:15:37  quinn
+ * Simple
+ *
+ * Revision 1.2  1994/11/04  14:53:12  quinn
  * Work
  *
  */
 
-/* TODO: Memory management */
+/* TODO: Memory management
+   LINK DELETE TO CLOSE!  */
 
 #include <rsisam.h>
 #include <util.h>
@@ -44,7 +48,9 @@ rset_control *r_create(const struct rset_control *sel, void *parms)
     rset_control *newct;
     rset_isam_parms *pt = parms;
 
+    log(LOG_DEBUG, "risam_create(%s)", sel->desc);
     newct = xmalloc(sizeof(*newct));
+    memcpy(newct, sel, sizeof(*sel));
     if (!(newct->buf = (char*) is_position(pt->is, pt->pos)))
        return 0;
     return newct;
@@ -52,6 +58,7 @@ rset_control *r_create(const struct rset_control *sel, void *parms)
 
 static int r_open(rset_control *ct, int wflag)
 {
+    log(LOG_DEBUG, "risam_open");
     if (wflag)
     {
        log(LOG_FATAL, "ISAM set type is read-only");
@@ -68,20 +75,24 @@ static void r_close(rset_control *ct)
 
 static void r_delete(rset_control *ct)
 {
+    log(LOG_DEBUG, "risam_delete");
     is_pt_free((ISPT) ct->buf);
     xfree(ct);
 }
 
 static void r_rewind(rset_control *ct)
 {
+    log(LOG_DEBUG, "risam_rewind");
     is_rewind((ISPT) ct->buf);
 }
 
 static int r_count(rset_control *ct)
 {return 0;}
 
-static int r_read()
-{return 0;}
+static int r_read(rset_control *ct, void *buf)
+{
+    return is_readkey((ISPT) ct->buf, buf);
+}
 
 static int r_write()
 {