This will probably work for other machines so you probably won't have to worry about it. One other concern is the naming conventions. Most compilers append an underscore to c routine names, whilst the CRAY compiler uses upper case names with no underscore. This is handled by using the preprocessor to redefine Fortran-callable names in c routines. Some compilers cannot handle certain types of operation.
String operations are notoriously error-prone.
This is awkward for SDE since it uses lots of strings. The current code seems to work on several otherwise buggy compilers, though, so this may not be too much of a problem. The secret seems to be to have only one place in such a routine where the returned value is actually set. These routines MUST work if the system is to work at all. A good way to start an installation is to make these work and then run the task world which simply prints out 'Hello, world'.