summaryrefslogtreecommitdiffstats
path: root/src/H5Fcore.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Fcore.c')
-rw-r--r--src/H5Fcore.c42
1 files changed, 23 insertions, 19 deletions
diff --git a/src/H5Fcore.c b/src/H5Fcore.c
index 85378b2..021490c 100644
--- a/src/H5Fcore.c
+++ b/src/H5Fcore.c
@@ -33,10 +33,10 @@ static H5F_low_t *H5F_core_open(const char *name,
H5F_search_t *key/*out*/);
static herr_t H5F_core_close(H5F_low_t *lf, const H5F_access_t *access_parms);
static herr_t H5F_core_read(H5F_low_t *lf, const H5F_access_t *access_parms,
- const H5F_xfer_t *xfer_parms, const haddr_t *addr,
+ const H5F_xfer_t *xfer_parms, haddr_t addr,
size_t size, uint8_t *buf);
static herr_t H5F_core_write(H5F_low_t *lf, const H5F_access_t *access_parms,
- const H5F_xfer_t *xfer_parms, const haddr_t *addr,
+ const H5F_xfer_t *xfer_parms, haddr_t addr,
size_t size, const uint8_t *buf);
const H5F_low_class_t H5F_LOW_CORE_g[1] = {{
@@ -176,14 +176,16 @@ H5F_core_close(H5F_low_t *lf, const H5F_access_t UNUSED *access_parms)
* Wednesday, October 22, 1997
*
* Modifications:
- * June 2, 1998 Albert Cheng
- * Added xfer_mode argument
+ * Albert Cheng, 1998-06-02
+ * Added XFER_MODE argument.
*
+ * Robb Matzke, 1999-07-28
+ * The ADDR argument is passed by value.
*-------------------------------------------------------------------------
*/
static herr_t
H5F_core_read(H5F_low_t *lf, const H5F_access_t UNUSED *access_parms,
- const H5F_xfer_t UNUSED *xfer_parms, const haddr_t *addr,
+ const H5F_xfer_t UNUSED *xfer_parms, haddr_t addr,
size_t size, uint8_t *buf)
{
size_t n;
@@ -192,16 +194,16 @@ H5F_core_read(H5F_low_t *lf, const H5F_access_t UNUSED *access_parms,
FUNC_ENTER(H5F_core_read, FAIL);
assert(lf);
- assert(addr && H5F_addr_defined(addr));
+ assert(H5F_addr_defined(addr));
assert(buf);
- eof = MIN(lf->eof.offset, lf->u.core.size);
+ eof = MIN(lf->eof, lf->u.core.size);
- if (addr->offset >= eof) {
+ if (addr >= eof) {
HDmemset(buf, 0, size);
} else {
- n = MIN(size, eof-addr->offset);
- HDmemcpy(buf, lf->u.core.mem + addr->offset, n);
+ n = MIN(size, eof-addr);
+ HDmemcpy(buf, lf->u.core.mem + addr, n);
HDmemset(buf+n, 0, size-n);
}
@@ -224,14 +226,16 @@ H5F_core_read(H5F_low_t *lf, const H5F_access_t UNUSED *access_parms,
* Wednesday, October 22, 1997
*
* Modifications:
- * June 2, 1998 Albert Cheng
- * Added xfer_mode argument
+ * Albert Cheng, 1998-06-02
+ * Added XFER_MODE argument.
*
+ * Robb Matzke, 1999-07-28
+ * The ADDR argument is passed by value.
*-------------------------------------------------------------------------
*/
static herr_t
H5F_core_write(H5F_low_t *lf, const H5F_access_t *access_parms,
- const H5F_xfer_t UNUSED *xfer_parms, const haddr_t *addr,
+ const H5F_xfer_t UNUSED *xfer_parms, haddr_t addr,
size_t size, const uint8_t *buf)
{
size_t need_more, na;
@@ -241,7 +245,7 @@ H5F_core_write(H5F_low_t *lf, const H5F_access_t *access_parms,
FUNC_ENTER(H5F_core_write, FAIL);
assert(lf);
- assert(addr && H5F_addr_defined(addr));
+ assert(H5F_addr_defined(addr));
assert(buf);
assert (!access_parms || H5F_LOW_CORE==access_parms->driver);
@@ -250,9 +254,9 @@ H5F_core_write(H5F_low_t *lf, const H5F_access_t *access_parms,
* size, which is either defined in the file access property list or
* which defaults to one.
*/
- if (addr->offset + size > lf->u.core.alloc) {
+ if (addr + size > lf->u.core.alloc) {
if (access_parms) increment = access_parms->u.core.increment;
- need_more = addr->offset+size - lf->u.core.alloc;
+ need_more = addr+size - lf->u.core.alloc;
need_more = increment*((need_more+increment-1)/increment);
na = lf->u.core.alloc + need_more;
@@ -265,12 +269,12 @@ H5F_core_write(H5F_low_t *lf, const H5F_access_t *access_parms,
}
/* Move the physical EOF marker */
- if (addr->offset + size > lf->u.core.size) {
- lf->u.core.size = addr->offset + size;
+ if (addr + size > lf->u.core.size) {
+ lf->u.core.size = addr + size;
}
/* Copy data */
- HDmemcpy(lf->u.core.mem+addr->offset, buf, size);
+ HDmemcpy(lf->u.core.mem+addr, buf, size);
FUNC_LEAVE(SUCCEED);
}