summaryrefslogtreecommitdiffstats
path: root/src/H5Fprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r--src/H5Fprivate.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index 3c64956..2401228 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -261,6 +261,23 @@ typedef struct H5F_t H5F_t;
case 2: UINT16DECODE(p,l); break; \
}
+/*
+ * Macros that check for overflows. These are somewhat dangerous to fiddle
+ * with.
+ */
+#if (H5_SIZEOF_SIZE_T >= H5_SIZEOF_OFF_T)
+# define H5F_OVERFLOW_SIZET2OFFT(X) \
+ ((size_t)(X)>=(size_t)((size_t)1<<(8*sizeof(off_t)-1)))
+#else
+# define H5F_OVERFLOW_SIZET2OFFT(X) 0
+#endif
+#if (H5_SIZEOF_HSIZE_T >= H5_SIZEOF_OFF_T)
+# define H5F_OVERFLOW_HSIZET2OFFT(X) \
+ ((hsize_t)(X)>=(hsize_t)((hsize_t)1<<(8*sizeof(off_t)-1)))
+#else
+# define H5F_OVERFLOW_HSIZET2OFFT(X) 0
+#endif
+
/* ========= File Creation properties ============ */
/* Definitions for the size of the file user block in bytes */
#define H5F_CRT_USER_BLOCK_NAME "block_size"