mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
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:
parent
0729260141
commit
1a0424b7ff
@ -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++;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user