From 5d1c8bbf75a275ddbc1f01b43165ce9411986b6e Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Fri, 10 Jun 2011 14:51:42 +0200
Subject: Change the way command line arguments are parsed.
---
src/logdiag.c | 41 ++++++++++++++++-------------------------
1 file changed, 16 insertions(+), 25 deletions(-)
(limited to 'src')
diff --git a/src/logdiag.c b/src/logdiag.c
index c9c6af2..90548d3 100644
--- a/src/logdiag.c
+++ b/src/logdiag.c
@@ -19,6 +19,14 @@
int
main (int argc, char *argv[])
{
+ gchar **files = NULL;
+ GOptionEntry option_entries[] =
+ {
+ {G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &files,
+ NULL, N_("[FILE]")},
+ {NULL}
+ };
+
GError *error;
#ifdef _WIN32
gchar *install_dir;
@@ -38,8 +46,8 @@ main (int argc, char *argv[])
textdomain (GETTEXT_DOMAIN);
error = NULL;
- gtk_init_with_args (&argc, &argv,
- N_("[FILE] - Schematic editor"), NULL, GETTEXT_DOMAIN, &error);
+ gtk_init_with_args (&argc, &argv, N_("- Schematic editor"),
+ option_entries, GETTEXT_DOMAIN, &error);
if (error)
{
g_warning ("%s", error->message);
@@ -49,31 +57,14 @@ main (int argc, char *argv[])
gtk_window_set_default_icon_name (PROJECT_NAME);
- /* TODO: Accept multiple files. */
- if (argc < 2)
- ld_window_main_new (NULL);
- else
+ /* TODO: Be able to open multiple files. */
+ if (files)
{
- gchar *arg_utf8, *arg_filename;
-
- arg_utf8 = g_locale_to_utf8 (argv[1], -1, NULL, NULL, &error);
- if (error)
- {
- g_warning ("%s", error->message);
- g_error_free (error);
- return 1;
- }
- arg_filename = g_filename_from_utf8 (arg_utf8, -1, NULL, NULL, &error);
- if (error)
- {
- g_warning ("%s", error->message);
- g_error_free (error);
- return 1;
- }
- ld_window_main_new (arg_filename);
- g_free (arg_filename);
- g_free (arg_utf8);
+ ld_window_main_new (files[0]);
+ g_strfreev (files);
}
+ else
+ ld_window_main_new (NULL);
gtk_main ();
return 0;
--
cgit v1.2.3-70-g09d2