+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):
+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):
+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):
+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):
+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 ===
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
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;
}