From 126304cd48ac8100057d71c22a41d3d2b3d5b9a8 Mon Sep 17 00:00:00 2001
From: Kaspar Schleiser <kaspar@schleiser.de>
Date: Wed, 3 Nov 2010 13:53:11 +0100
Subject: [PATCH] * shell: strtok workaround

---
 sys/shell/shell.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys/shell/shell.c b/sys/shell/shell.c
index f4dce41ee3..fc670243a9 100644
--- a/sys/shell/shell.c
+++ b/sys/shell/shell.c
@@ -63,7 +63,8 @@ static void(*find_handler(const shell_command_t *command_list, char *command))(c
 
 static void handle_input_line(shell_t *shell, char* line) {
     char* saveptr;
-    char* command = strtok_r(line, " ", &saveptr);
+    char* linedup = strdup(line);
+    char* command = strtok_r(linedup, " ", &saveptr);
 
     void (*handler)(char*) = NULL;
     
@@ -75,7 +76,8 @@ static void handle_input_line(shell_t *shell, char* line) {
             puts("shell: command not found.");
         }
     }
-    
+
+    free(linedup);
 }
 
 int readline(shell_t *shell, char* buf, int size) {
-- 
GitLab