summaryrefslogtreecommitdiffstats
path: root/src/userprog
diff options
context:
space:
mode:
Diffstat (limited to 'src/userprog')
-rw-r--r--src/userprog/process.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/userprog/process.c b/src/userprog/process.c
index 21ba48d..84aea39 100644
--- a/src/userprog/process.c
+++ b/src/userprog/process.c
@@ -324,7 +324,6 @@ load (const char *file_name, void (**eip) (void), void **esp)
/* Write argv entries. */
char **esp_argv_entry = *esp;
esp_argv_entry -= word_alignment + argc + 1; // +1 makes room for argv[argc] = NULL
-
char **esp_argv_first = esp_argv_entry; // save for later
// esp_cmd points to first entry so write directly
@@ -338,13 +337,11 @@ load (const char *file_name, void (**eip) (void), void **esp)
esp_argv_entry++;
}
- char ***esp_argv = esp_argv_first;
- esp_argv--;
+ char ***esp_argv = esp_argv_first - 1;
*esp_argv = esp_argv_first;
- int *esp_argc = esp_argv;
- esp_argc--;
+ int *esp_argc = esp_argv - 1;
*esp_argc = argc;
*esp = esp_argc - 1; // return address