Skip to content
Snippets Groups Projects
Verified Commit 79d1b7f2 authored by ja3-saxby's avatar ja3-saxby
Browse files

Implemented argument parsing

parent c9ce75a5
No related branches found
No related tags found
1 merge request!4Implement parse_arguments()
...@@ -14,6 +14,12 @@ int parse_arguments(const char* command_line, char**argv) { ...@@ -14,6 +14,12 @@ int parse_arguments(const char* command_line, char**argv) {
printf("parse_arguments(): argv[0] = '%s'\n", argv[0]); printf("parse_arguments(): argv[0] = '%s'\n", argv[0]);
argc++; argc++;
// now, parse token-by-token for any additional arguments // now, parse token-by-token for any additional arguments
// TODO: implementation! char* token = strtok_r(NULL, " ", &state_pointer);
while (token != NULL) {
argv[argc] = token;
printf("parse_arguments(): argv[%d] = '%s'\n", argc, argv[argc]);
argc++;
token = strtok_r(NULL, " ", &state_pointer);
}
return argc; return argc;
} }
...@@ -241,7 +241,9 @@ load (const char *command, void (**eip) (void), void **esp) ...@@ -241,7 +241,9 @@ load (const char *command, void (**eip) (void), void **esp)
strlcpy(command_copy, command, 255); strlcpy(command_copy, command, 255);
printf("load(): command_copy = '%s'\n", command_copy); printf("load(): command_copy = '%s'\n", command_copy);
int argc = parse_arguments(command_copy, argv); int argc = parse_arguments(command_copy, argv);
printf("load(): argv[0] = '%s'\n", argv[0]); for (int i = 0; i < argc; i++) {
printf("load(): argv[%d] = '%s'\n", i, argv[i]);
}
char* file_name = argv[0]; // file name is always argument 0 char* file_name = argv[0]; // file name is always argument 0
/* Allocate and activate page directory. */ /* Allocate and activate page directory. */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment