mirror of
https://github.com/TREX-CoE/trexio.git
synced 2025-01-07 03:43:25 +01:00
add error message for an attempt to overwrite dimensioning variables
This commit is contained in:
parent
51a1e2bca3
commit
57655a8344
@ -114,22 +114,23 @@ typedef int32_t trexio_exit_code;
|
|||||||
** Error handling
|
** Error handling
|
||||||
|
|
||||||
#+NAME: table-exit-codes
|
#+NAME: table-exit-codes
|
||||||
| Macro | Code | Description |
|
| Macro | Code | Description |
|
||||||
|----------------------------+------+----------------------|
|
|-----------------------------+------+--------------------------------|
|
||||||
| ~TREXIO_FAILURE~ | -1 | 'Unknown failure' |
|
| ~TREXIO_FAILURE~ | -1 | 'Unknown failure' |
|
||||||
| ~TREXIO_SUCCESS~ | 0 | 'Success' |
|
| ~TREXIO_SUCCESS~ | 0 | 'Success' |
|
||||||
| ~TREXIO_INVALID_ARG_1~ | 1 | 'Invalid argument 1' |
|
| ~TREXIO_INVALID_ARG_1~ | 1 | 'Invalid argument 1' |
|
||||||
| ~TREXIO_INVALID_ARG_2~ | 2 | 'Invalid argument 2' |
|
| ~TREXIO_INVALID_ARG_2~ | 2 | 'Invalid argument 2' |
|
||||||
| ~TREXIO_INVALID_ARG_3~ | 3 | 'Invalid argument 3' |
|
| ~TREXIO_INVALID_ARG_3~ | 3 | 'Invalid argument 3' |
|
||||||
| ~TREXIO_INVALID_ARG_4~ | 4 | 'Invalid argument 4' |
|
| ~TREXIO_INVALID_ARG_4~ | 4 | 'Invalid argument 4' |
|
||||||
| ~TREXIO_INVALID_ARG_5~ | 5 | 'Invalid argument 5' |
|
| ~TREXIO_INVALID_ARG_5~ | 5 | 'Invalid argument 5' |
|
||||||
| ~TREXIO_END~ | 6 | 'End of file' |
|
| ~TREXIO_END~ | 6 | 'End of file' |
|
||||||
| ~TREXIO_READONLY~ | 7 | 'Read-only file' |
|
| ~TREXIO_READONLY~ | 7 | 'Read-only file' |
|
||||||
| ~TREXIO_ERRNO~ | 8 | strerror(errno) |
|
| ~TREXIO_ERRNO~ | 8 | strerror(errno) |
|
||||||
| ~TREXIO_INVALID_ID~ | 9 | 'Invalid ID' |
|
| ~TREXIO_INVALID_ID~ | 9 | 'Invalid ID' |
|
||||||
| ~TREXIO_ALLOCATION_FAILED~ | 10 | 'Allocation failed' |
|
| ~TREXIO_ALLOCATION_FAILED~ | 10 | 'Allocation failed' |
|
||||||
| ~TREXIO_HAS_NOT~ | 11 | 'Element absent' |
|
| ~TREXIO_HAS_NOT~ | 11 | 'Element absent' |
|
||||||
| ~TREXIO_INVALID_NUM~ | 12 | 'Invalid exit code' |
|
| ~TREXIO_INVALID_NUM~ | 12 | 'Invalid exit code' |
|
||||||
|
| ~TREXIO_NUM_ALREADY_EXISTS~ | 13 | 'This variable already exists' |
|
||||||
|
|
||||||
# We need to force Emacs not to indent the Python code:
|
# We need to force Emacs not to indent the Python code:
|
||||||
# -*- org-src-preserve-indentation: t
|
# -*- org-src-preserve-indentation: t
|
||||||
@ -175,6 +176,7 @@ return '\n'.join(result)
|
|||||||
#define TREXIO_ALLOCATION_FAILED ((trexio_exit_code) 10)
|
#define TREXIO_ALLOCATION_FAILED ((trexio_exit_code) 10)
|
||||||
#define TREXIO_HAS_NOT ((trexio_exit_code) 11)
|
#define TREXIO_HAS_NOT ((trexio_exit_code) 11)
|
||||||
#define TREXIO_INVALID_NUM ((trexio_exit_code) 12)
|
#define TREXIO_INVALID_NUM ((trexio_exit_code) 12)
|
||||||
|
#define TREXIO_NUM_ALREADY_EXISTS ((trexio_exit_code) 13)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src f90 :tangle prefix_fortran.f90 :exports none
|
#+begin_src f90 :tangle prefix_fortran.f90 :exports none
|
||||||
@ -192,6 +194,7 @@ return '\n'.join(result)
|
|||||||
integer(trexio_exit_code), parameter :: TREXIO_ALLOCATION_FAILED = 10
|
integer(trexio_exit_code), parameter :: TREXIO_ALLOCATION_FAILED = 10
|
||||||
integer(trexio_exit_code), parameter :: TREXIO_HAS_NOT = 11
|
integer(trexio_exit_code), parameter :: TREXIO_HAS_NOT = 11
|
||||||
integer(trexio_exit_code), parameter :: TREXIO_INVALID_NUM = 12
|
integer(trexio_exit_code), parameter :: TREXIO_INVALID_NUM = 12
|
||||||
|
integer(trexio_exit_code), parameter :: TREXIO_NUM_ALREADY_EXISTS = 13
|
||||||
#+end_src
|
#+end_src
|
||||||
:end:
|
:end:
|
||||||
|
|
||||||
|
@ -235,9 +235,8 @@ trexio_hdf5_write_$group_num$ (trexio_t* const file, const uint64_t num)
|
|||||||
if (infile_num != num) {
|
if (infile_num != num) {
|
||||||
|
|
||||||
if (infile_num != 0) {
|
if (infile_num != 0) {
|
||||||
printf("%lu -> %lu %s \n", num, infile_num,
|
|
||||||
"This variable already exists. Overwriting it is not supported");
|
return TREXIO_NUM_ALREADY_EXISTS;
|
||||||
return TREXIO_FAILURE;
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ int test_h5write() {
|
|||||||
|
|
||||||
// should not work: try to overwrite the nucleus_num
|
// should not work: try to overwrite the nucleus_num
|
||||||
rc = trexio_write_nucleus_num(file,25);
|
rc = trexio_write_nucleus_num(file,25);
|
||||||
assert (rc != TREXIO_SUCCESS);
|
assert (rc == TREXIO_NUM_ALREADY_EXISTS);
|
||||||
|
|
||||||
// close current session
|
// close current session
|
||||||
rc = trexio_close(file);
|
rc = trexio_close(file);
|
||||||
|
Loading…
Reference in New Issue
Block a user