summaryrefslogtreecommitdiffstats
path: root/src/H5FA.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-04-07 18:21:47 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-04-07 18:21:47 (GMT)
commite5c94192d730bb6cb23e4960c8f0c3165d8518ec (patch)
tree85be5f5fd523abf0b312ecd050b66524996e68e0 /src/H5FA.c
parentf2c3407eb6b429346b623276ed0833e3a5cec1c8 (diff)
downloadhdf5-e5c94192d730bb6cb23e4960c8f0c3165d8518ec.zip
hdf5-e5c94192d730bb6cb23e4960c8f0c3165d8518ec.tar.gz
hdf5-e5c94192d730bb6cb23e4960c8f0c3165d8518ec.tar.bz2
[svn-r29659] Added fixed array chunk indexing from revise_chunks.
Tested on: 64-bit Ubuntu 15.10 w/ gcc 5.2.1 Autotools serial w/ Java, Fortran, & C++
Diffstat (limited to 'src/H5FA.c')
-rw-r--r--src/H5FA.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/H5FA.c b/src/H5FA.c
index 3e502c0..9678f45 100644
--- a/src/H5FA.c
+++ b/src/H5FA.c
@@ -79,6 +79,8 @@ hbool_t H5_PKG_INIT_VAR = FALSE;
* client class..
*/
const H5FA_class_t *const H5FA_client_class_g[] = {
+ H5FA_CLS_CHUNK, /* 0 - H5FA_CLS_CHUNK_ID */
+ H5FA_CLS_FILT_CHUNK, /* 1 - H5FA_CLS_FILT_CHUNK_ID */
H5FA_CLS_TEST, /* ? - H5FA_CLS_TEST_ID */
};
@@ -739,3 +741,36 @@ CATCH
END_FUNC(PRIV) /* end H5FA_iterate() */
+
+/*-------------------------------------------------------------------------
+ * Function: H5FA_patch_file
+ *
+ * Purpose: Patch the top-level file pointer contained in fa
+ * to point to idx_info->f if they are different.
+ * This is possible because the file pointer in fa can be
+ * closed out if fa remains open.
+ *
+ * Return: SUCCEED
+ *
+ *-------------------------------------------------------------------------
+ */
+BEGIN_FUNC(PRIV, NOERR,
+herr_t, SUCCEED, -,
+H5FA_patch_file(H5FA_t *fa, H5F_t *f))
+
+ /* Local variables */
+
+#ifdef H5FA_DEBUG
+HDfprintf(stderr, "%s: Called\n", FUNC);
+#endif /* H5FA_DEBUG */
+
+ /*
+ * Check arguments.
+ */
+ HDassert(fa);
+ HDassert(f);
+
+ if(fa->f != f || fa->hdr->f != f)
+ fa->f = fa->hdr->f = f;
+
+END_FUNC(PRIV) /* end H5FA_patch_file() */