Failed integer functions in HDF5 result almost always in a negative
value (unsigned failing functions sometimes return zero for failure)
while successful return is non-negative (often zero). The negative
failure value is most commonly -1, but don't bet on it.
[...]
Successful return values are zero (false) or positive (true).
The typical true value is 1 but don't bet on it.