diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Dvirtual.c | 18 | ||||
-rw-r--r-- | src/H5Olayout.c | 3 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/H5Dvirtual.c b/src/H5Dvirtual.c index 638ad6d..9a25494 100644 --- a/src/H5Dvirtual.c +++ b/src/H5Dvirtual.c @@ -519,7 +519,6 @@ H5D__virtual_copy_layout(H5O_layout_t *layout) } /* end for */ } /* end if */ else { - HDassert(0 && "checking code coverage..."); //VDSINC /* Zero out other fields related to list, just to be sure */ layout->storage.u.virt.list = NULL; layout->storage.u.virt.list_nalloc = 0; @@ -704,15 +703,18 @@ H5D__virtual_delete(H5F_t *f, hid_t dxpl_id, H5O_storage_t *storage) HDassert(storage); HDassert(storage->type == H5D_VIRTUAL); + /* Check for global heap block */ + if(storage->u.virt.serial_list_hobjid.addr != HADDR_UNDEF) { #ifdef NOT_YET - /* Unlink the global heap block */ - if((heap_rc = H5HG_link(f, dxpl_id, (H5HG_t *)&(storage->u.virt.serial_list_hobjid), -1)) < 0) - HGOTO_ERROR(H5E_DATASET, H5E_CANTMODIFY, FAIL, "unable to adjust global heap refence count") - if(heap_rc == 0) + /* Unlink the global heap block */ + if((heap_rc = H5HG_link(f, dxpl_id, (H5HG_t *)&(storage->u.virt.serial_list_hobjid), -1)) < 0) + HGOTO_ERROR(H5E_DATASET, H5E_CANTMODIFY, FAIL, "unable to adjust global heap refence count") + if(heap_rc == 0) #endif /* NOT_YET */ - /* Delete the global heap block */ - if(H5HG_remove(f, dxpl_id, (H5HG_t *)&(storage->u.virt.serial_list_hobjid)) < 0) - HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to remove heap object") + /* Delete the global heap block */ + if(H5HG_remove(f, dxpl_id, (H5HG_t *)&(storage->u.virt.serial_list_hobjid)) < 0) + HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to remove heap object") + } /* end if */ /* Clear global heap ID in storage */ storage->u.virt.serial_list_hobjid.addr = HADDR_UNDEF; diff --git a/src/H5Olayout.c b/src/H5Olayout.c index c462c80..6018539 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -578,8 +578,6 @@ H5O_layout_encode(H5F_t *f, hbool_t H5_ATTR_UNUSED disable_shared, uint8_t *p, c HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, FAIL, "unable to insert virtual dataset heap block") } /* end if */ - HDassert((mesg->storage.u.virt.list_nused > 0) && "checking code coverage...");//VDSINC - /* Heap information */ H5F_addr_encode(f, &p, mesg->storage.u.virt.serial_list_hobjid.addr); UINT32ENCODE(p, mesg->storage.u.virt.serial_list_hobjid.idx); @@ -817,7 +815,6 @@ H5O_layout_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, void *_mesg) break; case H5D_VIRTUAL: /* Virtual dataset */ - HDassert(0 && "checking code coverage...");//VDSINC /* Free the file space virtual dataset */ if(H5D__virtual_delete(f, dxpl_id, &mesg->storage) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free raw data") |