Tim and Peter
thanks for your clarifications.
I have now checked in a version of JNIHDS which uses only the C interface.
Apart from a couple of facilities dropped because they're not in
the new interface, as far as I can see everything seems to work OK,
and behave the same as before. The reasonably extensive unit tests
still run. I haven't really tested SPLAT beyond building it with the
new lib, so some testing of that might be in order. The nightly builds
may throw up something, especially on the 64-bit architectures.
The build still links against libcnf because that's what star/bin/hds_link
andn star/bin/err_link do.
I've checked in the source, and the i386 shared library. I'll leave
other architectures to you.
> > /star/include. dat1.h also contains the types _BYTE, _WORD etc,
> > which I want to use to find the sizes of the various mapped HDS
> > types.
>
> I could add SIZEOF_HDS_BYTE_TYPE etc into hds_types.h if necessary.
> That would be easy.
I don't mind. As it stands I've added a few defines in HDSObject.c:
/* HDS Types. */
#define HDS_BYTE_SIZE sizeof( char )
#define HDS_WORD_SIZE sizeof( short )
#define HDS_INTEGER_SIZE sizeof( int )
#define HDS_REAL_SIZE sizeof( float )
#define HDS_DOUBLE_SIZE sizeof( double )
which I'm quite happy to have there, unless someone judges it's the
Wrong thing to do. These are only used to determine the number of
bytes in the buffer mapped by a call to datMapV.
Mark
--
Mark Taylor Astronomical Programmer Physics, Bristol University, UK
[log in to unmask] +44-117-928-8776 http://www.star.bris.ac.uk/~mbt/
|