<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2723.2500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello all,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Just a heads-up regarding HDF5.&nbsp;</FONT><FONT 
face=Arial size=2>I installed the latest version of the HDF 5 
library*&nbsp;and&nbsp;hit some problems running napi5_test.&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>The problems&nbsp;come from the return value of 
H5Aiterate and H5GIterate, and affect NX5getattrinfo, NX5getnextattr&nbsp;and 
NX5getnextentry. The nexus API seems to expect them to return 1 while iteration 
is valid, 0 at the end of the traversal, and -1 otherwise. However, these 
functions now seem to skip the 0 and go straight to -1.&nbsp;The state NX_EOD 
never seems to be reached; instead one gets immediately to the state NX_ERROR. 
This means functions like NX5getnextattr and NX5getnextentry fail with "ERROR: 
iteration was not successful", and&nbsp;NX5getattrinfo&nbsp;goes into infinite 
loops.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Simple hacks get past this.&nbsp;If one replaces 
the line in NX5getnextentry( ):</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>else if (iRet == 0)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>with </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>else if (iRet == 0 || iRet == -1),</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>and&nbsp;changes a&nbsp;few similar&nbsp;lines in 
NX5getattrinfo &amp; NX5getnextattr (changing </FONT><FONT face=Arial 
size=2>lines like while(iRet != 0)&nbsp;to while( iRet &gt; 0) eliminates 
infinite loops),&nbsp; then napi5_test runs successfully.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>But this solution might&nbsp;hide 
a&nbsp;problem:&nbsp;the HDF5&nbsp;behavior that supported the distinction 
between NX_EOD and NX_ERROR&nbsp;may have&nbsp;changed. Anyone relying on that 
distinction would want to know about this.</FONT><FONT face=Arial 
size=2>&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Tim Kelley</FONT></DIV>
<DIV><FONT face=Arial size=2><A 
href="mailto:tkelley@caltech.edu">tkelley@caltech.edu</A></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>* version 1.6.0, precompiled for linux with gcc 
3.2.2</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV></BODY></HTML>