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 ddfddbcb40
commit 43882037fd

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++;
}
}