mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-24 19:22:11 +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
ddfddbcb40
commit
43882037fd
@ -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…
x
Reference in New Issue
Block a user