summaryrefslogtreecommitdiffstats
path: root/otherlibs/win32unix/system.c
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/win32unix/system.c')
-rw-r--r--otherlibs/win32unix/system.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/otherlibs/win32unix/system.c b/otherlibs/win32unix/system.c
new file mode 100644
index 000000000..a02cdf55a
--- /dev/null
+++ b/otherlibs/win32unix/system.c
@@ -0,0 +1,38 @@
+/***********************************************************************/
+/* */
+/* Objective Caml */
+/* */
+/* Xavier Leroy and Pascal Cuoq, projet Cristal, INRIA Rocquencourt */
+/* */
+/* Copyright 1996 Institut National de Recherche en Informatique et */
+/* Automatique. Distributed only by permission. */
+/* */
+/***********************************************************************/
+
+/* $Id$ */
+
+#include <mlvalues.h>
+#include <memory.h>
+#include <alloc.h>
+#include "unixsupport.h"
+#include <process.h>
+#include <stdio.h>
+
+value win_system(cmd)
+ value cmd;
+{
+ int ret;
+ value st;
+
+ enter_blocking_section();
+ _flushall();
+ ret = system(String_val(c));;
+ leave_blocking_section();
+ if (ret == -1) uerror("system", Nothing);
+ st = alloc(1, 0); /* 0: Exited */
+ Field(st, 0) = Val_int(ret);
+ return st;
+}
+
+
+