Fix another faulty GApplicationCommandline example

Several flaws were pointed out by Shaun McCance. We were
leaking handled arguments, and we were mishandling the last
argument, and we were actually skipping arguments too.

https://bugzilla.gnome.org/show_bug.cgi?id=647031
This commit is contained in:
Matthias Clasen 2011-04-08 17:02:01 -04:00
parent 0729260141
commit 1a0424b7ff

View File

@ -30,16 +30,20 @@ test_local_cmdline (GApplication *application,
argv = *arguments;
for (i = 0; argv[i]; i++)
i = 1;
while (argv[i])
{
if (g_str_has_prefix (argv[i], "--local-"))
{
g_print ("handling argument %s locally\n", argv[i]);
for (j = i + 1; argv[j]; j++)
{
argv[j - 1] = argv[j];
argv[j] = NULL;
}
g_free (argv[i]);
for (j = i; argv[j]; j++)
argv[j] = argv[j + 1];
}
else
{
g_print ("not handling argument %s locally\n", argv[i]);
i++;
}
}