diff -r gdl-0.9rc2.orig/src/hdf_fun.cpp gdl-0.9rc2/src/hdf_fun.cpp
398c398,400
<       status = SDgetinfo(sds_id, fieldname, &rank, null, null, null);
---
>       int32 rank_tmp = rank;
>       status = SDgetinfo(sds_id, fieldname, &rank_tmp, null, null, null);
>       rank = rank_tmp;
diff -r gdl-0.9rc2.orig/src/hdf_pro.cpp gdl-0.9rc2/src/hdf_pro.cpp
637a638,640
>     int32 dim_size_tmp = dim_size,
>       data_type_tmp = data_type,
>       n_attrs_tmp = n_attrs;
644c647,655
<       status = SDdiminfo(dim_id, dim_name, &dim_size, &data_type, &n_attrs);
---
>       dim_size_tmp = dim_size;
>       data_type_tmp = data_type;
>       n_attrs_tmp = n_attrs;
>       status = SDdiminfo(dim_id, dim_name, &dim_size_tmp,
> 			 &data_type_tmp,
> 			 &n_attrs_tmp);
>       dim_size = dim_size_tmp;
>       data_type = data_type_tmp;
>       n_attrs = n_attrs_tmp;
654c665,671
<       status = SDdiminfo(dim_id, NULL, &dim_size, &data_type, &n_attrs);
---
>       dim_size_tmp = dim_size;
>       data_type_tmp = data_type;
>       n_attrs_tmp = n_attrs;
>       status = SDdiminfo(dim_id, NULL, &dim_size_tmp, &data_type_tmp, &n_attrs_tmp);
>       dim_size = dim_size_tmp;
>       data_type = data_type_tmp;
>       n_attrs = n_attrs_tmp;

