diff options
Diffstat (limited to 'libf2c/libF77/system_.c')
-rw-r--r-- | libf2c/libF77/system_.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libf2c/libF77/system_.c b/libf2c/libF77/system_.c new file mode 100644 index 0000000..dbbd0be --- /dev/null +++ b/libf2c/libF77/system_.c @@ -0,0 +1,28 @@ +/* f77 interface to system routine */ + +#include "f2c.h" + +#undef abs +#undef min +#undef max +#include <stdlib.h> +extern char *F77_aloc (ftnlen, char *); + +integer +G77_system_0 (register char *s, ftnlen n) +{ + char buff0[256], *buff; + register char *bp, *blast; + integer rv; + + buff = bp = n < (ftnlen) sizeof (buff0) ? buff0 : F77_aloc (n + 1, "system_"); + blast = bp + n; + + while (bp < blast && *s) + *bp++ = *s++; + *bp = 0; + rv = system (buff); + if (buff != buff0) + free (buff); + return rv; +} |