summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Sf.c
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2000-11-03 19:45:50 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2000-11-03 19:45:50 (GMT)
commit46f49b84cf37d98fc68d582c857f98345f2e5835 (patch)
tree05496d12e49b67f871814f3c11f4f69b18d5b419 /fortran/src/H5Sf.c
parent0556db98e281f377b54e7e918bc296604b490993 (diff)
downloadhdf5-46f49b84cf37d98fc68d582c857f98345f2e5835.zip
hdf5-46f49b84cf37d98fc68d582c857f98345f2e5835.tar.gz
hdf5-46f49b84cf37d98fc68d582c857f98345f2e5835.tar.bz2
[svn-r2795]
Purpose: New feature Description: Now all Fortran flags such as H5F_ACC_RDONLY_F (previously defined in the H5fortran_flags.f90 file) are generated at runtime when h5init_fortran_f subroutine is called. All flags have now the same value as corresponding C flags. This change affects user's programming model: Every Fortran program that uses F90 HDF5 Library has to call h5init_fortran_f(error) subroutine before the first call to the F90 HDF5 Library and h5close_fortran_f(error) after the last call to the Library. h5init(close)_types_f calls are not needed anymore since F90 datatypes are intialized(closed) with the h5init(close)_fortran_f calls. Platforms tested: O2K and Solaris2.7
Diffstat (limited to 'fortran/src/H5Sf.c')
-rw-r--r--fortran/src/H5Sf.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/fortran/src/H5Sf.c b/fortran/src/H5Sf.c
index af9c4a5..df51ca3 100644
--- a/fortran/src/H5Sf.c
+++ b/fortran/src/H5Sf.c
@@ -87,8 +87,8 @@ nh5screate_c ( int_f *classtype, hid_t_f *space_id )
int CASE;
int ret_value = 0;
hid_t c_space_id;
- CASE = (int)*classtype;
-
+ c_classtype = (H5S_class_t) *classtype;
+/*
switch (CASE) {
case (H5S_SCALAR_F):
@@ -103,6 +103,7 @@ nh5screate_c ( int_f *classtype, hid_t_f *space_id )
ret_value = -1;
return ret_value;
}
+*/
c_space_id = H5Screate(c_classtype);
if ( c_space_id < 0 ) ret_value = -1;
@@ -531,8 +532,11 @@ nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype)
c_space_id = *space_id;
c_classtype = H5Sget_simple_extent_type(c_space_id);
if ( c_classtype < 0 ) ret_value = -1;
+ *classtype = c_classtype;
+/*
if (c_classtype == H5S_SCALAR) *classtype = H5S_SCALAR_F;
if (c_classtype == H5S_SIMPLE) *classtype = H5S_SIMPLE_F;
+*/
return ret_value;
}
@@ -809,9 +813,11 @@ nh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hssize_t_f *start, hsize
c_block[i] = (hsize_t)block[t];
}
+ c_op = (H5S_seloper_t)*op;
+/*
if (*op == H5S_SELECT_SET_F) c_op = H5S_SELECT_SET;
if (*op == H5S_SELECT_OR_F) c_op = H5S_SELECT_OR;
-
+*/
c_space_id = *space_id;
status = H5Sselect_hyperslab(c_space_id, c_op, c_start, c_stride, c_count, c_block);
@@ -850,8 +856,10 @@ nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hss
int i, j;
hssize_t *c_coord;
size_t c_nelements;
-
+/*
if (*op != H5S_SELECT_SET_F) return ret_value;
+*/
+ if (*op != H5S_SELECT_SET) return ret_value;
c_op = H5S_SELECT_SET;
c_space_id = *space_id;