mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-12-23 12:56:53 +01:00
better error handling [front]
This commit is contained in:
parent
13fe1e8690
commit
0f444074c9
@ -1422,7 +1422,7 @@ end interface
|
|||||||
#+begin_src c :tangle hrw_dset_str_front.h :exports none
|
#+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_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_read_$group_dset$(trexio_t* const file, char* const dset);
|
||||||
trexio_exit_code trexio_write_$group_dset$(trexio_t* const file, char* dset);
|
trexio_exit_code trexio_write_$group_dset$(trexio_t* const file, const char* dset);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src c :tangle read_dset_str_front.c
|
#+begin_src c :tangle read_dset_str_front.c
|
||||||
@ -1460,15 +1460,22 @@ trexio_read_$group_dset$ (trexio_t* const file, char* const dset)
|
|||||||
|
|
||||||
case TREXIO_HDF5:
|
case TREXIO_HDF5:
|
||||||
rc = trexio_hdf5_read_$group_dset$(file, dset_str, rank, dims);
|
rc = trexio_hdf5_read_$group_dset$(file, dset_str, rank, dims);
|
||||||
if (rc != TREXIO_SUCCESS) return rc;
|
|
||||||
break;
|
break;
|
||||||
/*
|
/*
|
||||||
case TREXIO_JSON:
|
case TREXIO_JSON:
|
||||||
return trexio_json_read_$group_dset$(file, dset, rank, dims);
|
rc = trexio_json_read_$group_dset$(file, dset, rank, dims);
|
||||||
break;
|
break;
|
||||||
,*/
|
,*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rc != TREXIO_SUCCESS) {
|
||||||
|
for (int i=0; i<dims[0]; i++){
|
||||||
|
FREE(dset_str[i]);
|
||||||
|
}
|
||||||
|
FREE(dset_str);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
strcpy(dset, "");
|
strcpy(dset, "");
|
||||||
for(size_t i=0; i<dims[0]; i++){
|
for(size_t i=0; i<dims[0]; i++){
|
||||||
strcat(dset, dset_str[i]);
|
strcat(dset, dset_str[i]);
|
||||||
@ -1487,7 +1494,7 @@ trexio_read_$group_dset$ (trexio_t* const file, char* const dset)
|
|||||||
|
|
||||||
#+begin_src c :tangle write_dset_str_front.c
|
#+begin_src c :tangle write_dset_str_front.c
|
||||||
trexio_exit_code
|
trexio_exit_code
|
||||||
trexio_write_$group_dset$ (trexio_t* const file, char* dset)
|
trexio_write_$group_dset$ (trexio_t* const file, const char* dset)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (file == NULL) return TREXIO_INVALID_ARG_1;
|
if (file == NULL) return TREXIO_INVALID_ARG_1;
|
||||||
@ -1512,8 +1519,8 @@ trexio_write_$group_dset$ (trexio_t* const file, char* dset)
|
|||||||
dset_str[i] = CALLOC(16,char);
|
dset_str[i] = CALLOC(16,char);
|
||||||
}
|
}
|
||||||
|
|
||||||
char * pch;
|
char* pch;
|
||||||
pch = strtok(dset, " ");
|
pch = strtok( (char*) dset, " ");
|
||||||
strcpy(dset_str[0], pch);
|
strcpy(dset_str[0], pch);
|
||||||
for(size_t i=1; i<dims[0]; i++){
|
for(size_t i=1; i<dims[0]; i++){
|
||||||
pch = strtok (NULL, " ");
|
pch = strtok (NULL, " ");
|
||||||
@ -1528,7 +1535,6 @@ trexio_write_$group_dset$ (trexio_t* const file, char* dset)
|
|||||||
|
|
||||||
case TREXIO_HDF5:
|
case TREXIO_HDF5:
|
||||||
rc = trexio_hdf5_write_$group_dset$(file, (const char**) dset_str, rank, dims);
|
rc = trexio_hdf5_write_$group_dset$(file, (const char**) dset_str, rank, dims);
|
||||||
if (rc != TREXIO_SUCCESS) return rc;
|
|
||||||
break;
|
break;
|
||||||
/*
|
/*
|
||||||
case TREXIO_JSON:
|
case TREXIO_JSON:
|
||||||
@ -1542,7 +1548,7 @@ trexio_write_$group_dset$ (trexio_t* const file, char* dset)
|
|||||||
}
|
}
|
||||||
FREE(dset_str);
|
FREE(dset_str);
|
||||||
|
|
||||||
return TREXIO_SUCCESS;
|
return rc;
|
||||||
|
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
Loading…
Reference in New Issue
Block a user