Warn if a short name is not acceptable.

2005-07-13  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (g_option_group_add_entries): Warn if a
	short name is not acceptable.
This commit is contained in:
Matthias Clasen 2005-07-13 13:31:30 +00:00 committed by Matthias Clasen
parent 138b6c99c0
commit 7b70e24179
7 changed files with 44 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2005-07-13 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (g_option_group_add_entries): Warn if a
short name is not acceptable.
2005-07-12 Matthias Clasen <mclasen@redhat.com>
* glib/goption.h (G_OPTION_FLAG_NOALIAS):

View File

@ -1,3 +1,8 @@
2005-07-13 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (g_option_group_add_entries): Warn if a
short name is not acceptable.
2005-07-12 Matthias Clasen <mclasen@redhat.com>
* glib/goption.h (G_OPTION_FLAG_NOALIAS):

View File

@ -1,3 +1,8 @@
2005-07-13 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (g_option_group_add_entries): Warn if a
short name is not acceptable.
2005-07-12 Matthias Clasen <mclasen@redhat.com>
* glib/goption.h (G_OPTION_FLAG_NOALIAS):

View File

@ -1,3 +1,8 @@
2005-07-13 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (g_option_group_add_entries): Warn if a
short name is not acceptable.
2005-07-12 Matthias Clasen <mclasen@redhat.com>
* glib/goption.h (G_OPTION_FLAG_NOALIAS):

View File

@ -1,3 +1,8 @@
2005-07-13 Matthias Clasen <mclasen@redhat.com>
* glib/tmpl/option.sgml: Document that short names must
be printable ASCII characters != '-'.
2005-07-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.2 ===

View File

@ -316,7 +316,9 @@ g_option_context_add_main_entries() or g_option_group_add_entries().
specify the option as
--<replaceable>groupname</replaceable>-<replaceable>long_name</replaceable>.
@short_name: If an option has a short name, it can be specified
-<replaceable>short_name</replaceable> in a commandline.
-<replaceable>short_name</replaceable> in a commandline. @short_name must be
a printable ASCII character different from '-', or zero if the option has no
short name.
@flags: Flags from #GOptionFlags.
@arg: The type of the option, as a #GOptionArg.
@arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data must

View File

@ -1649,16 +1649,30 @@ void
g_option_group_add_entries (GOptionGroup *group,
const GOptionEntry *entries)
{
gint n_entries;
gint i, n_entries;
g_return_if_fail (entries != NULL);
for (n_entries = 0; entries[n_entries].long_name != NULL; n_entries++);
for (n_entries = 0; entries[n_entries].long_name != NULL; n_entries++) ;
group->entries = g_renew (GOptionEntry, group->entries, group->n_entries + n_entries);
memcpy (group->entries + group->n_entries, entries, sizeof (GOptionEntry) * n_entries);
for (i = group->n_entries; i < group->n_entries + n_entries; i++)
{
gchar c = group->entries[i].short_name;
if (c)
{
if (c == '-' || !g_ascii_isprint (c))
{
g_warning (G_STRLOC": ignoring invalid short option '%c' (%d)", c, c);
group->entries[i].short_name = 0;
}
}
}
group->n_entries += n_entries;
}