summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/H5Sselect.c9
-rw-r--r--test/tselect.c14
2 files changed, 16 insertions, 7 deletions
diff --git a/src/H5Sselect.c b/src/H5Sselect.c
index 56f14ba..1072d7d 100644
--- a/src/H5Sselect.c
+++ b/src/H5Sselect.c
@@ -1885,6 +1885,15 @@ H5S_select_shape_same(const H5S_t *space1, const H5S_t *space2)
space_a_dim--;
} /* end while */
+
+ /* Check for a single block in each selection */
+ if(H5S_SELECT_IS_SINGLE(space_a) && H5S_SELECT_IS_SINGLE(space_b)) {
+ /* If both selections are a single block and their bounds are
+ * the same, then the selections are the same, even if the
+ * selection types are different.
+ */
+ HGOTO_DONE(TRUE)
+ } /* end if */
} /* end if */
/* If the dataspaces have the same selection type, use the selection's
diff --git a/test/tselect.c b/test/tselect.c
index 45806ae..aa0ab11 100644
--- a/test/tselect.c
+++ b/test/tselect.c
@@ -9388,15 +9388,15 @@ test_shape_same_dr__smoke_check_1(void)
** a "checker board" hyperslab as follows:
**
** * * - - * * - - * *
-** * * - - * * - - * *
-** - - * * - - * * - -
-** - - * * - - * * - -
** * * - - * * - - * *
-** * * - - * * - - * *
-** - - * * - - * * - -
-** - - * * - - * * - -
+** - - * * - - * * - -
+** - - * * - - * * - -
+** * * - - * * - - * *
+** * * - - * * - - * *
+** - - * * - - * * - -
+** - - * * - - * * - -
+** * * - - * * - - * *
** * * - - * * - - * *
-** * * - - * * - - * *
**
** where asterisks indicate selected elements, and dashes
** indicate unselected elements.