summaryrefslogtreecommitdiff
path: root/amiga/gui.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2015-01-05 19:58:31 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2015-01-05 19:58:31 +0000
commitb91d5f3ac73e43ad7daa2d1960b4e9e8239cde2f (patch)
tree4a5ef7e784e298fd69f5accb495da137f25ab8b7 /amiga/gui.c
parent5464dc777828af12577343939e504e73b3ee4d9c (diff)
downloadnetsurf-b91d5f3ac73e43ad7daa2d1960b4e9e8239cde2f.tar.gz
netsurf-b91d5f3ac73e43ad7daa2d1960b4e9e8239cde2f.tar.bz2
Fix the passing of NetSurf internally-handled args to the core
Diffstat (limited to 'amiga/gui.c')
-rw-r--r--amiga/gui.c16
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);