> I'll have a poke around and see if an obvious cause leaps out.
Not really that obvious, but I've uncovered the problem in HDS.
Pre-HDS4 the value of hds_gl_status was set to DAT__OK on entry to
HDS_CLOSE, post that the relevant line seems to have been removed, no idea
why, but I've restored it anyway (see hdsopclos.c).
The upshot of this change meant that if you called HDS_CLOSE when HDS had
already raised an error (like it had just looked for a global object that
didn't exist) it didn't execute, so the file wasn't closed. Should
probably replace the HDS_CLOSE call with DAT_ANNUL (line 185 in
sup_hdslocs.f), but I'm not feeling that brave.
Cheers,
Peter.
|