mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-30 23:55:56 +08:00
37 lines
591 B
C
37 lines
591 B
C
|
/* f77 interface to system routine */
|
||
|
|
||
|
#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*);
|
||
|
|
||
|
integer
|
||
|
G77_system_0 (register char *s, ftnlen n)
|
||
|
#endif
|
||
|
{
|
||
|
char buff0[256], *buff;
|
||
|
register char *bp, *blast;
|
||
|
integer rv;
|
||
|
|
||
|
buff = bp = n < 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;
|
||
|
}
|