diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 1998-10-27 15:32:23 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 1998-10-27 15:32:23 (GMT) |
commit | 2a5409cf5c184bb18bade07655fe53955a2df590 (patch) | |
tree | a144ce18889368a6f7f14e641ff581ffd746ccf1 | |
parent | 1e88d9ac676a6672770bab3eef5cb512bef40194 (diff) | |
download | hdf5-2a5409cf5c184bb18bade07655fe53955a2df590.zip hdf5-2a5409cf5c184bb18bade07655fe53955a2df590.tar.gz hdf5-2a5409cf5c184bb18bade07655fe53955a2df590.tar.bz2 |
[svn-r805] Fixed H5Fis_hdf5 from reporting "true" for non-HDF5 files.
-rw-r--r-- | src/H5F.c | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -414,6 +414,7 @@ static herr_t H5F_locate_signature(H5F_low_t *f_handle, const H5F_access_t *access_parms, haddr_t *addr/*out*/) { + herr_t ret_value=FAIL; haddr_t max_addr; uint8 buf[H5F_SIGNATURE_LEN]; uintn n = 9; @@ -423,16 +424,18 @@ H5F_locate_signature(H5F_low_t *f_handle, const H5F_access_t *access_parms, H5F_low_size(f_handle, &max_addr); H5F_addr_reset(addr); while (H5F_addr_lt(addr, &max_addr)) { - if (H5F_low_read(f_handle, access_parms, H5D_XFER_DFLT, addr, - H5F_SIGNATURE_LEN, buf) < 0) { - HRETURN_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to read file"); - } - if (!HDmemcmp(buf, H5F_SIGNATURE, H5F_SIGNATURE_LEN)) - break; - H5F_addr_pow2(n++, addr); + if (H5F_low_read(f_handle, access_parms, H5D_XFER_DFLT, addr, + H5F_SIGNATURE_LEN, buf) < 0) { + HRETURN_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to read file"); + } + if (!HDmemcmp(buf, H5F_SIGNATURE, H5F_SIGNATURE_LEN)) { + ret_value=SUCCEED; + break; + } + H5F_addr_pow2(n++, addr); } - FUNC_LEAVE(SUCCEED); + FUNC_LEAVE(ret_value); } |