diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2015-10-22 04:49:49 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2015-10-22 04:49:49 (GMT) |
commit | 66c1a254f0f561c290b90917ef191b25cdc9d8dd (patch) | |
tree | 81b546ad177e45ffca0f266a03a95d01c8033a47 /hl | |
parent | 0caf00455f00fe28af7947970dd3b9a2462f3f2d (diff) | |
download | hdf5-66c1a254f0f561c290b90917ef191b25cdc9d8dd.zip hdf5-66c1a254f0f561c290b90917ef191b25cdc9d8dd.tar.gz hdf5-66c1a254f0f561c290b90917ef191b25cdc9d8dd.tar.bz2 |
[svn-r28179] h5watch can now open VDS files, though it will not detect changes
until the source files are closed.
Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) gcc 4.9.2
serial only
Diffstat (limited to 'hl')
-rw-r--r-- | hl/tools/h5watch/h5watch.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/hl/tools/h5watch/h5watch.c b/hl/tools/h5watch/h5watch.c index 7bb86a2..ea37dae 100644 --- a/hl/tools/h5watch/h5watch.c +++ b/hl/tools/h5watch/h5watch.c @@ -524,6 +524,7 @@ check_dataset(hid_t fid, char *dsetname) hbool_t unlim_max_dims = FALSE; /* whether dataset has unlimited or max. dimension setting */ void *edata; H5E_auto2_t func; + H5D_layout_t layout; herr_t ret_value = SUCCEED; /* Return value */ /* Disable error reporting */ @@ -539,16 +540,21 @@ check_dataset(hid_t fid, char *dsetname) /* Get dataset's creation property list */ if((dcp = H5Dget_create_plist(did)) < 0) { - error_msg("unable to get dataset's creation property list\"%s\"\n", dsetname); - ret_value = FAIL; - goto done; + error_msg("unable to get dataset's creation property list \"%s\"\n", dsetname); + ret_value = FAIL; + goto done; } - /* Query dataset's layout; the layout should be chunked */ - if(H5Pget_layout(dcp) != H5D_CHUNKED) { - error_msg("\"%s\" should be a chunked dataset\n", dsetname); - ret_value = FAIL; - goto done; + /* Query dataset's layout; the layout should be chunked or virtual */ + if((layout = H5Pget_layout(dcp)) < 0) { + error_msg("unable to get dataset layout \"%s\"\n", dsetname); + ret_value = FAIL; + goto done; + } + if(layout != H5D_CHUNKED && layout != H5D_VIRTUAL) { + error_msg("\"%s\" should be a chunked or virtual dataset\n", dsetname); + ret_value = FAIL; + goto done; } HDmemset(cur_dims, 0, sizeof cur_dims); |