diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-03-12 16:25:01 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-03-12 21:23:30 +0100 |
| commit | 3bfcc368b70181fb8baea37b83db2ed99f5cad40 (patch) | |
| tree | 25d575625d5ff2bab67cee84aecdca49211c2005 | |
| parent | 10d52f4f24f80835d28d8278df84d8bd500bd347 (diff) | |
| download | pintos-3bfcc368b70181fb8baea37b83db2ed99f5cad40.tar.gz | |
step over spaces in args
| -rw-r--r-- | src/userprog/build/fail | 2 | ||||
| -rw-r--r-- | src/userprog/process.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/userprog/build/fail b/src/userprog/build/fail index e1df1c1..d20593f 100644 --- a/src/userprog/build/fail +++ b/src/userprog/build/fail @@ -1,5 +1,3 @@ -FAIL tests/userprog/args-none -FAIL tests/userprog/args-dbl-space FAIL tests/userprog/sc-bad-sp FAIL tests/userprog/sc-bad-arg FAIL tests/userprog/create-null diff --git a/src/userprog/process.c b/src/userprog/process.c index fadd14d..fbf2f50 100644 --- a/src/userprog/process.c +++ b/src/userprog/process.c @@ -352,9 +352,11 @@ load (const char *file_name, void (**eip) (void), void **esp) esp_argv_entry++; for (i = 0; i < argc - 1; i++) { - // find next \0 in cmd + // step until a \0 is found while (*(++esp_cmd) != '\0') {} - *esp_argv_entry = esp_cmd + 1; // point to next character + // step over any ' ' + while (*(++esp_cmd) == ' ') {} + *esp_argv_entry = esp_cmd; // point to next character esp_argv_entry++; } |
