diff options
Diffstat (limited to 'contrib/libf2c/libF77/system_.c')
-rw-r--r-- | contrib/libf2c/libF77/system_.c | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/contrib/libf2c/libF77/system_.c b/contrib/libf2c/libF77/system_.c index ed024a1..dbbd0be 100644 --- a/contrib/libf2c/libF77/system_.c +++ b/contrib/libf2c/libF77/system_.c @@ -2,35 +2,27 @@ #include "f2c.h" -#ifdef KR_headers -extern char *F77_aloc(); - - integer -G77_system_0 (s, n) register char *s; ftnlen n; -#else #undef abs #undef min #undef max #include <stdlib.h> -extern char *F77_aloc(ftnlen, char*); +extern char *F77_aloc (ftnlen, char *); - integer +integer G77_system_0 (register char *s, ftnlen n) -#endif { - char buff0[256], *buff; - register char *bp, *blast; - integer rv; + char buff0[256], *buff; + register char *bp, *blast; + integer rv; - buff = bp = n < sizeof(buff0) - ? buff0 : F77_aloc(n+1, "system_"); - blast = bp + n; + 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; - } + while (bp < blast && *s) + *bp++ = *s++; + *bp = 0; + rv = system (buff); + if (buff != buff0) + free (buff); + return rv; +} |