Call_external, IDL v5.5, Fortran and strings [message #34453] |
Fri, 14 March 2003 12:34 |
Hugh D. R. Evans
Messages: 2 Registered: March 2003
|
Junior Member |
|
|
Hello,
So, I've happily been using some Fortran code interfaced with IDL via
Call_external. It all used to work beautifully.
Then, and I'm sure someone out there is absolutely over the moon about the
change, they go in IDL v5.5 and increase the maximum string size to 2**31-1
bytes. Normally, I'd be happy with such an improvement, but it completly
breaks the old fortran interface.
I tried to rehack the structure used to hold the meta data for the string,
i.e.:
STRUCTURE /string/
INTEGER*4 slen
INTEGER*2 stype
INTEGER s_addr
ENDSTRUCTURE
which, managed to get me the correct string length again (before it was just
0, as slen was only looking at the top 2 bytes, which were 0). However, the
address doesn't seem to be correct - or at least I can't seem to find
anything remotely resembling the string I passed at the address specified.
Has anyone out there managed to access strings in Fortran via the
Call_external? An example would be greatly appreciated (esp for a SunOS
machine - 64 bit version would be nice as well...). The one's provided in
the $IDL_DIR/external/call_external/Fortran directory don't seem to work
either.
Regards,
Hugh
|
|
|