* Sebastian Hammer, Adam Dickmeiss
*
* $Log: bfile.c,v $
- * Revision 1.7 1994-08-23 14:25:45 quinn
+ * Revision 1.11 1995-09-04 12:33:21 adam
+ * Various cleanup. YAZ util used instead.
+ *
+ * Revision 1.10 1994/08/25 10:15:54 quinn
+ * Trivial
+ *
+ * Revision 1.9 1994/08/24 08:45:48 quinn
+ * Using mfile.
+ *
+ * Revision 1.8 1994/08/23 15:03:34 quinn
+ * *** empty log message ***
+ *
+ * Revision 1.7 1994/08/23 14:25:45 quinn
* Added O_CREAT because some geek wanted it. Sheesh.
*
* Revision 1.6 1994/08/23 14:21:38 quinn
*
*/
-#include <util.h>
-#include <bfile.h>
+#include <stdio.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
+#include <alexutil.h>
+#include <bfile.h>
+
int bf_close (BFile bf)
{
- close(bf->fd);
+ mf_close(bf->mf);
xfree(bf);
return(0);
}
{
BFile tmp = xmalloc(sizeof(BFile_struct));
- if ((tmp->fd = open(name, wflag ? O_RDWR|O_CREAT : O_RDONLY, 0666)) < 0)
+ if (!(tmp->mf = mf_open(0, name, block_size, wflag)))
{
- log(LOG_FATAL|LOG_ERRNO, "open");
+ logf (LOG_FATAL, "Mfopen failed for %s", name);
return(0);
}
- tmp->block_size = block_size;
return(tmp);
}
int bf_read (BFile bf, int no, int offset, int num, void *buf)
{
- lseek(bf->fd, no * bf->block_size + offset, 0);
- return(read(bf->fd, buf, num ? num : bf->block_size));
+ return mf_read(bf->mf, no, offset, num, buf);
}
int bf_write (BFile bf, int no, int offset, int num, const void *buf)
{
- lseek(bf->fd, no * bf->block_size + offset, 0);
- return(write(bf->fd, buf, num ? num : bf->block_size));
+ return mf_write(bf->mf, no, offset, num, buf);
}