diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2015-01-05 19:58:31 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2015-01-05 19:58:31 +0000 |
commit | b91d5f3ac73e43ad7daa2d1960b4e9e8239cde2f (patch) | |
tree | 4a5ef7e784e298fd69f5accb495da137f25ab8b7 | |
parent | 5464dc777828af12577343939e504e73b3ee4d9c (diff) | |
download | netsurf-b91d5f3ac73e43ad7daa2d1960b4e9e8239cde2f.tar.gz netsurf-b91d5f3ac73e43ad7daa2d1960b4e9e8239cde2f.tar.bz2 |
Fix the passing of NetSurf internally-handled args to the core
-rw-r--r-- | amiga/gui.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index 4ff43279d..2449fd45e 100644 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -773,7 +773,7 @@ static void ami_openscreenfirst(void) static void ami_gui_commandline(int *argc, char **argv) { - int new_argc = 0; + int new_argc = 1; struct RDArgs *args; CONST_STRPTR template = "NSOPTS/M,URL/K,FORCE/S"; long rarray[] = {0,0,0}; @@ -809,13 +809,25 @@ static void ami_gui_commandline(int *argc, char **argv) * then ReadArgs cannot fetch the arguments. */ char **p = (char **)rarray[A_NSOPTS]; + do { LOG(("Arg [%d] assigned to NSOPTS/M by ReadArgs: %s", new_argc, *p)); new_argc++; p++; } while(*p != NULL); - nsoption_commandline(&new_argc, (char **)rarray[A_NSOPTS], NULL); + char *new_argv = malloc(sizeof(char *) * new_argc); + char **new_argvp = &new_argv; + *new_argvp = messages_get("NetSurf"); + p = (char **)rarray[A_NSOPTS]; + + do { + new_argvp++; + *new_argvp = *p; + p++; + } while(*p != NULL); + + nsoption_commandline(&new_argc, (char **)&new_argv, NULL); } FreeArgs(args); |