diff --git a/userprog/process.c b/userprog/process.c index 37695312f1fb7ece2e9a73c5a44303488589ca69..0547b44de6f1b87092541dc5cd29b2e7e68d5c05 100644 --- a/userprog/process.c +++ b/userprog/process.c @@ -60,9 +60,11 @@ static void start_process(void* cmd_line_) if_.gs = if_.fs = if_.es = if_.ds = if_.ss = SEL_UDSEG; if_.cs = SEL_UCSEG; if_.eflags = FLAG_IF | FLAG_MBS; - + char* file_name; + char* token = strtok_r(cmd_line," ", &if_.esp); + file_name=token; // Note: load requires the file name only, not the entire cmd_line - success = load(cmd_line, &if_.eip, &if_.esp); + success = load(file_name, &if_.eip, &if_.esp); /* If load failed, quit. */ palloc_free_page(cmd_line);