4 # append an underscore to FORTRAN function names
6 define(`FUNCTION',`$1_')
8 # FORTRAN character strings are passed as follows:
9 # a pointer to the base of the string is passed in the normal
10 # argument list, and the length is passed by value as an extra
11 # argument, after all of the other arguments.
13 define(`ARGS',`($1`'undivert(1))')
14 define(`SAVE',`divert(1)$1`'divert(0)')
15 define(`STRING_ARG',`$1_ptr`'SAVE(`, $1_len')')
16 define(`STRING_ARG_DECL',`char * $1_ptr; int $1_len')
17 define(`STRING_LEN',`$1_len')
18 define(`STRING_PTR',`$1_ptr')