I've had a stab at converting the convert hds2idl software from private C
-> Fortran wrappers that use DAT__SZLOC to the new HDSLoc public C API.
All was trivial except that
1. I can't test it since I don't have access to IDL. Can someone
give it a try?
2. the private C interface for HDS written by Alan uses a char**
for datPutC rather than a char* as added by Brian to the new HDS.
Do people have an opinion on which is more correct? I'm inclined
to leave Brian's version in place and also provide a new
datPutCPtrPtr (???) routine that takes a char**. Any thoughts
or opinions? Especially on the name.... It would not even need
to take the maximum length of the string since the routine
could work it out (assuming nul termination).
Just GAIA and ICL to go (and I'm making good progress on ICL - it's
amazing how much cleaner the C code is when it's not full of CNF macros
and DAT__SZLOCs.) Grepping through the CVS tree indicates that the only
places outside of GAIA, ICL, NDF and HDS that use HDS locators
(DAT__SZLOC) from C are SPLAT and JNIHDS. No-one used ndfXloc (the
SCUBA-2 software does).
--
Tim Jenness
JAC software
http://www.jach.hawaii.edu/~timj
|