diff --git a/src/templates_front/templator_front.org b/src/templates_front/templator_front.org index 7dbfb23..f9f4fb3 100644 --- a/src/templates_front/templator_front.org +++ b/src/templates_front/templator_front.org @@ -1421,13 +1421,13 @@ end interface #+begin_src c :tangle hrw_dset_str_front.h :exports none trexio_exit_code trexio_has_$group_dset$(trexio_t* const file); -trexio_exit_code trexio_read_$group_dset$(trexio_t* const file, char** const dset); -trexio_exit_code trexio_write_$group_dset$(trexio_t* const file, const char** dset); +trexio_exit_code trexio_read_$group_dset$(trexio_t* const file, char* const dset); +trexio_exit_code trexio_write_$group_dset$(trexio_t* const file, char* dset); #+end_src #+begin_src c :tangle read_dset_str_front.c trexio_exit_code -trexio_read_$group_dset$ (trexio_t* const file, char** const dset) +trexio_read_$group_dset$ (trexio_t* const file, char* const dset) { if (file == NULL) return TREXIO_INVALID_ARG_1; @@ -1446,14 +1446,21 @@ trexio_read_$group_dset$ (trexio_t* const file, char** const dset) assert(file->back_end < TREXIO_INVALID_BACK_END); + char** dset_str; + dset_str = CALLOC(dims[0],char*); + for (int i=0; iback_end) { case TREXIO_TEXT: - //return trexio_text_read_$group_dset$(file, dset, rank, dims); + //rc = return trexio_text_read_$group_dset$(file, dset_str, rank, dims); break; case TREXIO_HDF5: - return trexio_hdf5_read_$group_dset$(file, dset, rank, dims); + rc = trexio_hdf5_read_$group_dset$(file, dset_str, rank, dims); + if (rc != TREXIO_SUCCESS) return rc; break; /* case TREXIO_JSON: @@ -1461,13 +1468,26 @@ trexio_read_$group_dset$ (trexio_t* const file, char** const dset) break; ,*/ } - return TREXIO_FAILURE; + + strcpy(dset, ""); + for(size_t i=0; iback_end < TREXIO_INVALID_BACK_END); + char** dset_str = CALLOC(dims[0],char*); + dset_str = CALLOC(dims[0],char*); + for (int i=0; iback_end) { case TREXIO_TEXT: @@ -1493,7 +1527,8 @@ trexio_write_$group_dset$ (trexio_t* const file, const char** dset) break; case TREXIO_HDF5: - return trexio_hdf5_write_$group_dset$(file, dset, rank, dims); + rc = trexio_hdf5_write_$group_dset$(file, (const char**) dset_str, rank, dims); + if (rc != TREXIO_SUCCESS) return rc; break; /* case TREXIO_JSON: @@ -1501,7 +1536,14 @@ trexio_write_$group_dset$ (trexio_t* const file, const char** dset) break; ,*/ } - return TREXIO_FAILURE; + + for (int i=0; i