summaryrefslogtreecommitdiffstats
path: root/libf2c/libF77/system_.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-02-01 01:37:08 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-02-01 01:37:08 +0000
commita9fe81af3b8d02e1529b3f1f2a679b93cd9c36e1 (patch)
tree4b30cdf598ee6a8b24903fba52bb3e0c06bf459b /libf2c/libF77/system_.c
parent9682c2b47acc059592d168a09c7162f2bf333ee2 (diff)
downloadppe42-gcc-a9fe81af3b8d02e1529b3f1f2a679b93cd9c36e1.tar.gz
ppe42-gcc-a9fe81af3b8d02e1529b3f1f2a679b93cd9c36e1.zip
* Previous contents of gcc/f/runtime moved into toplevel
"libf2c" directory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17568 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libf2c/libF77/system_.c')
-rw-r--r--libf2c/libF77/system_.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/libf2c/libF77/system_.c b/libf2c/libF77/system_.c
new file mode 100644
index 00000000000..ed024a14ded
--- /dev/null
+++ b/libf2c/libF77/system_.c
@@ -0,0 +1,36 @@
+/* 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;
+ }
OpenPOWER on IntegriCloud