From f54b06a807a6aaac81454ecfa78fa978aa6865a9 Mon Sep 17 00:00:00 2001 From: Marian Ohligs Date: Tue, 24 May 2011 17:23:10 +0200 Subject: [PATCH] add the ability to start apps (still buggy) --- newlib/examples/hello.c | 6 +----- newlib/examples/mshell | Bin 92222 -> 92222 bytes newlib/examples/mshell.c | 26 ++++++++++++++++++++------ 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/newlib/examples/hello.c b/newlib/examples/hello.c index fd357d5f..f65ce176 100644 --- a/newlib/examples/hello.c +++ b/newlib/examples/hello.c @@ -27,10 +27,6 @@ extern int errno; int main(int argc, char** argv) { - int i; - char* str = (char *)malloc(40000 * sizeof(char)); - scanf("%s", str); - printf("SCANF: %s", str); - fflush(NULL); + printf("test!"); return errno; } diff --git a/newlib/examples/mshell b/newlib/examples/mshell index f209d3db14aa5441eb244fb17449753b96f15fb1..5d9d80cfafe38ea5fbe3ad3470475d93ed4811ec 100755 GIT binary patch delta 8034 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 diff --git a/newlib/examples/mshell.c b/newlib/examples/mshell.c index e7a1bb65..3389c610 100644 --- a/newlib/examples/mshell.c +++ b/newlib/examples/mshell.c @@ -1,6 +1,10 @@ -#include #include +#include #include +#include +#include +#include +#include void showlogo() { printf("\n\n"); @@ -19,7 +23,8 @@ void help() { int main(int argc, char** argv) { char* command = malloc(1024*sizeof(char)); - int size; + int size, status = 0; + pid_t pid; system("clear"); showlogo(); while(1) { @@ -29,11 +34,20 @@ int main(int argc, char** argv) } if(!strcmp(command, "help")) { help(); - } - else { - char* argv[] = {command, NULL}; - execve(command, argv, NULL); + } else { + //pid = fork(); + //if (pid == 0) { //child + char* newargv[] = {command, NULL}; + char* newenv[] = {"USER=root", "PATH=/bin:/sbin:/usr/bin", "PWD=/", "TEMP=/tmp", NULL}; + + execve(command, newargv, newenv); + return errno; + //} else { + // wait(&status); + // printf("Beendet"); + //} } } + return errno; }