<html>#2871: EOS_Omni's nuceos code used int to hold hid_t values
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>EinsteinToolkit thorn</td></tr>
</table>

<p><code>EOS_Omni</code> contains this code:</p>
<div class="codehilite"><pre><span></span><code><span>// If on the IO proc (doIO == True) actually perform HDF5 IO, catch possible</span>
<span>// HDF5 errors</span>
<span>#define HDF5_DO_IO(fn_call)                                              \</span>
<span>  if(doIO) {                                                             \</span>
<span>    int _error_code = fn_call;                                           \</span>
<span>    if (_error_code < 0) {                                               \</span>
<span>      CCTK_VError(__LINE__, __FILE__, CCTK_THORNSTRING,                  \</span>
<span>                  "HDF5 call '%s' returned error code %d",               \</span>
<span>                  #fn_call, _error_code);                                \</span>
<span>    }                                                                    \</span>
<span>  }</span>
</code></pre></div>

<p>to handle some HDF5 calls. This assigns the result of HDF5 calls (typically a <code>hid_t</code> type) to an int, which (as of HDF5 1.10 or so) is no longer correct since <code>hid_t</code> is now a 64 bit type. So this needs to be a <code>hid_t</code> or <code>long long int</code> (and some compile time check that `long long int` actually can hold a `hid_t`) instead to handle the value and output via printf.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2871/eos_omnis-nuceos-code-used-int-to-hold'>https://bitbucket.org/einsteintoolkit/tickets/issues/2871/eos_omnis-nuceos-code-used-int-to-hold</a></p>
</html>