diff options
Diffstat (limited to 'src/DumpVar.c')
-rw-r--r-- | src/DumpVar.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/DumpVar.c b/src/DumpVar.c index f06bcb5..934ef10 100644 --- a/src/DumpVar.c +++ b/src/DumpVar.c @@ -528,7 +528,12 @@ static void WriteData (const cGH *GH, const ioRequest *request,const char *name, ioHDF5UtilGH *myGH; hid_t hdf5type, group, dataset, memspace, filespace, plist; char *chunkname; +#if (H5_VERS_MAJOR == 1 && \ + (H5_VERS_MINOR < 6 || (H5_VERS_MINOR == 6 && H5_VERS_RELEASE < 4))) hssize_t *chunk_origin; +#else + hsize_t *chunk_origin; +#endif hsize_t *chunk_dims, *file_dims; hsize_t buffersize; DECLARE_CCTK_PARAMETERS @@ -545,8 +550,8 @@ static void WriteData (const cGH *GH, const ioRequest *request,const char *name, /* copy the size arrays from CCTK_INT to appropriate types note that HDF5 wants elements in reverse order */ - chunk_origin = malloc (request->hdim * sizeof (hssize_t)); - chunk_dims = malloc (2*request->hdim * sizeof (hsize_t)); + chunk_origin = malloc (request->hdim * sizeof (*chunk_origin)); + chunk_dims = malloc (2*request->hdim * sizeof (*chunk_dims)); file_dims = chunk_dims + request->hdim; for (i = 0; i < request->hdim; i++) { @@ -708,7 +713,12 @@ static void WriteDataCollective (const cGH *GH, const ioRequest *request, { int i; hid_t hdf5type, dataset, memspace, filespace, plist; +#if (H5_VERS_MAJOR == 1 && \ + (H5_VERS_MINOR < 6 || (H5_VERS_MINOR == 6 && H5_VERS_RELEASE < 4))) hssize_t *chunk_origin; +#else + hsize_t *chunk_origin; +#endif hsize_t *chunk_dims, *file_dims; hsize_t buffersize; const ioHDF5UtilGH *myGH; @@ -723,8 +733,8 @@ static void WriteDataCollective (const cGH *GH, const ioRequest *request, /* copy the size arrays from CCTK_INT to appropriate types note that HDF5 wants elements in reverse order */ - chunk_origin = malloc (request->hdim * sizeof (hssize_t)); - chunk_dims = malloc (2*request->hdim * sizeof (hsize_t)); + chunk_origin = malloc (request->hdim * sizeof (*chunk_origin)); + chunk_dims = malloc (2*request->hdim * sizeof (*chunk_dims)); file_dims = chunk_dims + request->hdim; for (i = 0; i < request->hdim; i++) { |