X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=bfile%2Fbfile.c;h=7b6580952d63a3eaa7e15db1628fb3c1181d3ab5;hb=1792fa3c7e03f72170731d6b29010002ce1e4cb3;hp=d8dfa84dd0e433752abf7d4b49616bc7bbb575c0;hpb=739c40544bc2451275f046134d096241a6304796;p=idzebra-moved-to-github.git diff --git a/bfile/bfile.c b/bfile/bfile.c index d8dfa84..7b65809 100644 --- a/bfile/bfile.c +++ b/bfile/bfile.c @@ -4,7 +4,28 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: bfile.c,v $ - * Revision 1.4 1994-08-17 14:27:32 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 + * Fixed call to log + * + * Revision 1.5 1994/08/18 08:10:08 quinn + * Minimal changes + * + * Revision 1.4 1994/08/17 14:27:32 quinn * last mods * * Revision 1.2 1994/08/17 14:09:32 quinn @@ -15,15 +36,18 @@ * */ -#include -#include +#include #include #include #include +#include + +#include +#include int bf_close (BFile bf) { - close(bf->fd); + mf_close(bf->mf); xfree(bf); return(0); } @@ -32,23 +56,20 @@ BFile bf_open (const char *name, int block_size, int wflag) { BFile tmp = xmalloc(sizeof(BFile_struct)); - if ((tmp->fd = open(name, wflag ? O_RDWR : O_RDONLY, 0666)) < 0) + if (!(tmp->mf = mf_open(0, name, block_size, wflag))) { - log(LOG_FATAL, "open: %s"); + 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); }