mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-03 09:46:17 +01:00
goption: try to be helpful in goption args/flag checks
When complaining about ill defined GOptionEntries include the name of the option group and entry in the warning.
This commit is contained in:
parent
e4738839ed
commit
2161bf254f
@ -2178,14 +2178,16 @@ g_option_group_add_entries (GOptionGroup *group,
|
||||
|
||||
if (c == '-' || (c != 0 && !g_ascii_isprint (c)))
|
||||
{
|
||||
g_warning (G_STRLOC ": ignoring invalid short option '%c' (%d)", c, c);
|
||||
group->entries[i].short_name = 0;
|
||||
g_warning (G_STRLOC ": ignoring invalid short option '%c' (%d) in entry %s:%s",
|
||||
c, c, group->name, group->entries[i].long_name);
|
||||
group->entries[i].short_name = '\0';
|
||||
}
|
||||
|
||||
if (group->entries[i].arg != G_OPTION_ARG_NONE &&
|
||||
(group->entries[i].flags & G_OPTION_FLAG_REVERSE) != 0)
|
||||
{
|
||||
g_warning (G_STRLOC ": ignoring reverse flag on option of type %d", group->entries[i].arg);
|
||||
g_warning (G_STRLOC ": ignoring reverse flag on option of arg-type %d in entry %s:%s",
|
||||
group->entries[i].arg, group->name, group->entries[i].long_name);
|
||||
|
||||
group->entries[i].flags &= ~G_OPTION_FLAG_REVERSE;
|
||||
}
|
||||
@ -2193,7 +2195,8 @@ g_option_group_add_entries (GOptionGroup *group,
|
||||
if (group->entries[i].arg != G_OPTION_ARG_CALLBACK &&
|
||||
(group->entries[i].flags & (G_OPTION_FLAG_NO_ARG|G_OPTION_FLAG_OPTIONAL_ARG|G_OPTION_FLAG_FILENAME)) != 0)
|
||||
{
|
||||
g_warning (G_STRLOC ": ignoring no-arg, optional-arg or filename flags (%d) on option of type %d", group->entries[i].flags, group->entries[i].arg);
|
||||
g_warning (G_STRLOC ": ignoring no-arg, optional-arg or filename flags (%d) on option of arg-type %d in entry %s:%s",
|
||||
group->entries[i].flags, group->entries[i].arg, group->name, group->entries[i].long_name);
|
||||
|
||||
group->entries[i].flags &= ~(G_OPTION_FLAG_NO_ARG|G_OPTION_FLAG_OPTIONAL_ARG|G_OPTION_FLAG_FILENAME);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user