141 Commits

Author SHA1 Message Date
Matthias Clasen
3a7a096682 Add G_OPTION_FLAG_NO_ARG and G_OPTION_FLAG_FILENAME to allow greater
2005-06-18  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.h:
	* glib/goption.c: Add G_OPTION_FLAG_NO_ARG and
	G_OPTION_FLAG_FILENAME to allow greater control of
	G_OPTION_ARG_CALLBACK options. (#302632, Dan Winship)

	* tests/option-test.c: test callback args
2005-06-18 04:55:26 +00:00
Matthias Clasen
e90cd618b1 Set errno to 0 before calling strtol. (#306388, Morten Welinder)
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (parse_int): Set errno to 0 before calling
	strtol.  (#306388, Morten Welinder)
2005-06-09 15:39:29 +00:00
Manish Singh
ba5a4d9db6 initialize option_name before using it.
Fri May 27 17:18:00 2005  Manish Singh  <yosh@gimp.org>

        * glib/goption.c (parse_short_option): initialize option_name
        before using it.
2005-05-28 00:19:14 +00:00
Matthias Clasen
4c4f106344 Return an error if an option is missing its argument. (#305576, Björn
2005-05-27  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (parse_short_option, parse_long_option):
	Return an error if an option is missing its argument.  (#305576,
	Björn Lindqvist)

	* tests/option-test.c (missing_arg_test): Add a testcase.
2005-05-27 18:30:34 +00:00
Manish Singh
1397c53eb7 rest_description should be const.
Wed May 25 15:33:51 2005  Manish Singh  <yosh@gimp.org>

        * glib/goption.c (print_help): rest_description should be const.
2005-05-25 22:37:48 +00:00
Matthias Clasen
0b8e42a2f5 If the remaining argument has an arg_description, display the synopsis as
2005-05-24  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (print_help): If the remaining argument
	has an arg_description, display the synopsis as
	PROGNAME [OPTION...] REST  (#305346, Noah Levitt)
2005-05-25 02:42:21 +00:00
Matthias Clasen
6e60dd8489 Add a testcase.
2005-05-06  Matthias Clasen  <mclasen@redhat.com>

	* tests/option-test.c: Add a testcase.

	* glib/goption.c (g_option_context_parse): Treat '-'
	on its own as a non-option argument.  (#168008, Tim Musson,
	Thomas Leonard and others)
2005-05-06 20:10:52 +00:00
Matthias Clasen
4faa0650e5 Warn if there already is a main group. (#170445, Jeff Franks)
2005-03-15  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (g_option_context_set_main_group): Warn
	if there already is a main group.  (#170445, Jeff Franks)
2005-03-15 13:24:22 +00:00
Matthias Clasen
608a31b98e Make PLT-reduction work with gcc4, and don't include everything in
2005-03-13  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in galias.h:

	* glib/glib.symbols: Group symbols by header and source file.
	* glib/makegalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegalias.pl -def
	* glib/Makefile.am (galiasdef.c): Add a rule to generate this
	file.
	* glib/*.c: Include galias.h after the other GLib headers,
	include galiasdef.c at the bottom.
2005-03-14 04:26:57 +00:00
Matthias Clasen
0fa2c2b366 Fix an error message. (#168751, Hazael Maldonado Torres)
2005-03-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (parse_int): Fix an error message.
	(#168751, Hazael Maldonado Torres)
2005-03-08 05:20:47 +00:00
Matthias Clasen
1795e0aeb0 Take main group options into account when calculating column size.
2005-02-10  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (print_help): Take main group options into
	account when calculating column size.  (#166921)
	(g_option_context_parse): Accept -? as documented.  (#166977)
2005-02-11 04:11:34 +00:00
Matthias Clasen
348da88e27 Don't write out of bounds.
2005-02-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
	write out of bounds.

	* glib/goption.c (g_option_context_parse): Fix a
	one-too-short memory allocation.  (#166609, Nicolas Laurent)

	* tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
	MALLOC_CHECK_.

	* tests/option-test.c: Add a test for unkown short options.
2005-02-08 15:14:31 +00:00
Matthias Clasen
543cd4b10f Don't show the special G_OPTION_REMAINING entry. (#161934, Matthew F.
2004-12-21  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (print_entry): Don't show
	the special G_OPTION_REMAINING entry.  (#161934,
	Matthew F. Barnes)
2004-12-22 04:34:43 +00:00
Matthias Clasen
9d8c5bc757 Add some tests for '--' stripping.
2004-12-20  Matthias Clasen  <mclasen@redhat.com>

	* tests/option-test.c: Add some tests for '--'
	stripping.

	* glib/goption.c (g_option_context_parse): Don't
	strip '--' if it would be needed by a second option
	parser.  (#161701)
2004-12-20 21:09:16 +00:00
Matthias Clasen
e176f212a7 Call post-parse hooks also if argv is NULL. (#161668, Marcin Krzyzanowski)
2004-12-19  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (g_option_context_parse): Call
	post-parse hooks also if argv is NULL.  (#161668,
	Marcin Krzyzanowski)
2004-12-19 05:20:12 +00:00
Matthias Clasen
4f402e2489 Don't print help options if the options of a specific group have been
2004-12-09  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (print_help): Don't print help options
	if the options of a specific group have been
	requested.  (#160645, Glynn Foster)
2004-12-09 14:38:13 +00:00
Tor Lillqvist
5ddd4874a6 Add G_OPTION_FLAG_REVERSE, to reverse the sense of a G_OPTION_ARG_NONE
2004-11-04  Tor Lillqvist  <tml@iki.fi>

	* glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE,
	to reverse the sense of a G_OPTION_ARG_NONE (boolean) option.

	* glib/goption.c (parse_arg): Obey the above flag.
2004-11-04 00:40:06 +00:00
Matthias Clasen
91ae46c37b Document that this function may not return.
2004-11-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (g_option_context_parse): Document that
	this function may not return.
2004-11-02 05:11:10 +00:00
Matthias Clasen
938f1a9a5a Documentation updates. 2004-11-01 17:52:02 +00:00
Matthias Clasen
57f8507273 Handle conflicts between options in different groups. (#156808)
2004-11-01  Matthias Clasen  <mclasen@redhat.com>

	Handle conflicts between options in different groups. (#156808)

	* glib/goption.c (g_option_context_parse): When a long option does not
	match exactly, try to parse it as --group-option.
	(g_option_context_add_group): Warn if a group name conflict occurs.

	* glib/goption.c (print_help): Print out the effective options, ie
	don't print shadowed short options, and for long options print
	--group-option instead of --option if appropriate.
2004-11-01 17:40:09 +00:00
Matthias Clasen
eb0b4db5ff Doc additions. 2004-10-30 05:06:15 +00:00
Matthias Clasen
b190dce984 Convert filenames to UTF-8 on Windows.
2004-10-29  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (parse_arg): Convert filenames to UTF-8 on
	Windows.
2004-10-30 03:20:31 +00:00
Matthias Clasen
a9fa61a13e Add tests for the handling of non-option arguments, "--" and
2004-10-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/option-test.c: Add tests for the handling of
	non-option arguments, "--" and G_OPTION_REMAINING.

	* glib/goption.[hc]: #define G_OPTION_REMAINING, which is
	a special long option name, which can be used for an option
	in the main group which collects the non-option arguments.
	It must be of type G_OPTION_ARG_STRING_ARRAY or
	G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
	an option whose name is G_OPTION_REMAINING, the non-option
	arguments are left behind in argv as before.
2004-10-29 20:19:06 +00:00
Matthias Clasen
a0e217e94a Document GOption 2004-10-29 18:43:34 +00:00
Matthias Clasen
e96fe301fa Don't return the wrong change. (#155856, Lucas Rocha)
2004-10-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (get_change): Don't return the wrong
	change.  (#155856, Lucas Rocha)
2004-10-20 06:04:18 +00:00
Anders Carlsson
9af2838a91 Add check for if argc is 0.
2004-10-05  Anders Carlsson  <andersca@gnome.org>

	* glib/goption.c: (g_option_context_parse):
	Add check for if argc is 0.

	* tests/option-test.c: (empty_test3), (main):
	Add test case.
2004-10-05 20:04:18 +00:00
Anders Carlsson
a515025dee Set arg_data on filenames. (Discovered by Mats-Ola Persson).
2004-10-03  Anders Carlsson  <andersca@gnome.org>

	* glib/goption.c: (parse_arg):
	Set arg_data on filenames. (Discovered by Mats-Ola Persson).

	* tests/option-test.c: (arg_test3), (ignore_test3), (main):
	Add test for filename args.
2004-10-03 19:34:19 +00:00
Tor Lillqvist
1c1fb90769 Use g_path_get_basename() instead of strrchr(), so that either slash is
2004-10-01  Tor Lillqvist  <tml@iki.fi>

	* glib/goption.c (g_option_context_parse): Use
	g_path_get_basename() instead of strrchr(), so that either slash
	is accepted on Windows.
2004-10-01 20:12:50 +00:00
Murray Cumming
aedac9883b Rename g_context_option_error_quark() to g_option_error_quark(), because
2004-09-27  Murray Cumming  <murrayc@murrayc.com>

        * glib/goptions.[h|c], glib/glib.symbols: Rename
        g_context_option_error_quark() to g_option_error_quark(), because that
        is consistent with normal naming conventions, and what bindings expect.
2004-09-27 18:16:39 +00:00
Matthias Clasen
71097ac3ef Fix #153649, Hidetaka Iwai:
2004-09-26  Matthias Clasen  <mclasen@redhat.com>

	Fix #153649, Hidetaka Iwai:

	* glib/goption.c (parse_long_option): Don't forget to set parsed
	to TRUE when parsing a long ARG_NONE option.
	(free_changes_list): Fix the memory management for string
	and filename arrays.
2004-09-26 04:16:31 +00:00
Matthias Clasen
08fe920a50 Make GOption remove long options completely. (#153113, Robert Ögren)
Mon Sep 20 00:13:48 2004  Matthias Clasen  <maclas@gmx.de>

	Make GOption remove long options completely. (#153113, Robert Ögren)

	* glib/goption.c (parse_long_option): Fix a wrong index.

	* tests/option-test.c (ignore_test3): Test handling of unknown
	options some more.
2004-09-20 04:15:38 +00:00
Matthias Clasen
2022eaf0ab Call error_func on error, not post_parse_func again. (#153107, Robert
Sun Sep 19 23:56:15 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/goption.c (g_option_context_parse): Call error_func
	on error, not post_parse_func again.  (#153107, Robert Ögren)
2004-09-20 03:58:04 +00:00
Matthias Clasen
dafdffd751 Implement the same PLT reduction technique used in GTK+:
Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>

	Implement the same PLT reduction technique used in GTK+:
2004-09-16 06:05:53 +00:00
Anders Carlsson
d1871edbdc Set program name before calling the pre-parse hooks.
2004-09-01  Anders Carlsson  <andersca@gnome.org>

	* glib/goption.c: (g_option_context_parse):
	Set program name before calling the pre-parse hooks.
2004-09-01 17:35:59 +00:00
Anders Carlsson
338d949559 Handle option contexts without a main group.
2004-09-01  Anders Carlsson  <andersca@gnome.org>

	* glib/goption.c: (g_option_context_free), (print_help),
	(g_option_context_parse):
	Handle option contexts without a main group.

	* tests/option-test.c: (empty_test2), (main):
	Add test case for that.
2004-09-01 17:31:43 +00:00
Anders Carlsson
11957cabec Set prgname to <unknown> if argc and argv are NULL.
2004-08-30  Anders Carlsson  <andersca@gnome.org>

	* glib/goption.c: (g_option_context_parse):
	Set prgname to <unknown> if argc and argv are NULL.

	* tests/option-test.c: (empty_test1), (main):
	Add test case for that.
2004-08-30 20:40:52 +00:00
Matthias Clasen
c8dfe75d22 Set the program name from argv[0], noticed by Masatake YAMATO.
Fri Aug 27 00:45:41 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/goption.c (g_option_context_parse): Set the program name
	from argv[0], noticed by Masatake YAMATO.
2004-08-27 04:49:02 +00:00
Manish Singh
b38cb869ad remove unused variable.
Mon Aug 23 16:16:35 2004  Manish Singh  <yosh@gimp.org>

        * glib/goption.c (g_option_group_add_entries): remove unused
        variable.
2004-08-23 23:15:08 +00:00
Matthias Clasen
10cc60b456 Mark user visible strings for translation.
Tue Aug  3 16:19:44 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/goption.c: Mark user visible strings for translation.
2004-08-03 20:23:05 +00:00
Matthias Clasen
4ca03e4b4e Pedantically use g types throughout.
Tue Aug  3 15:50:55 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/goption.[hc]: Pedantically use g types throughout.
2004-08-03 19:52:49 +00:00
Anders Carlsson
deee47edfd Add GOption.
2004-08-02  Anders Carlsson  <andersca@gnome.org>

	* glib/Makefile.am:
	* glib/glib.h:
	* glib/goption.c:
	* glib/goption.h:
	* tests/.cvsignore:
	* tests/Makefile.am:
	* tests/option-test.c:
	Add GOption.
2004-08-02 21:40:40 +00:00