From 8270e514f13502542dc07ca9730ec993706dc722 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jackpot51@gmail.com>
Date: Thu, 10 Dec 2015 18:31:34 -0700
Subject: [PATCH] Huge stack dumps Fix ELF loader

---
 main.rs | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/main.rs b/main.rs
index d6dd6301..0ee292ad 100644
--- a/main.rs
+++ b/main.rs
@@ -263,6 +263,37 @@ impl Command {
             }),
         });
 
+        commands.push(Command {
+            name: "run",
+            help: "Run a script\n    run <script>",
+            main: Box::new(|args: &Vec<String>, variables: &mut Vec<Variable>, _: &mut Vec<Mode>| {
+                let path = "/apps/shell/main.bin";
+
+                let mut command = process::Command::new(path);
+                for i in 1 .. args.len() {
+                    if let Some(arg) = args.get(i){
+                        command.arg(arg);
+                    }
+                }
+
+                match command.spawn() {
+                    Ok(mut child) => {
+                        match child.wait() {
+                            Ok(status) => {
+                                if let Some(code) = status.code() {
+                                    set_var(variables, "?", &format!("{}", code));
+                                } else {
+                                    println!("{}: No child exit code", path);
+                                }
+                            },
+                            Err(err) => println!("{}: Failed to wait: {}", path, err)
+                        }
+                    },
+                    Err(err) => println!("{}: Failed to execute: {}", path, err)
+                }
+            })
+        });
+
         commands.push(Command {
             name: "sleep",
             help: "Make a sleep in the current session\n    sleep <number_of_seconds>",
-- 
GitLab