0.8.10claws50
authorChristoph Hohmann <reboot@gmx.ch>
Tue, 25 Feb 2003 12:34:42 +0000 (12:34 +0000)
committerChristoph Hohmann <reboot@gmx.ch>
Tue, 25 Feb 2003 12:34:42 +0000 (12:34 +0000)
* src/main.c
* src/common/sylpheed.c
        add command line parameter parsing to common code

ChangeLog.claws
configure.ac
src/common/sylpheed.c
src/main.c

index c5ae0cf..ebb091d 100644 (file)
@@ -1,3 +1,9 @@
+2003-02-25 [christoph] 0.8.10claws50
+
+       * src/main.c
+       * src/common/sylpheed.c
+               add command line parameter parsing to common code
+
 2003-02-24 [christoph]
 
        * Makefile.am
 2003-02-24 [christoph]
 
        * Makefile.am
@@ -6,6 +12,9 @@
                `gnome-config --prefix` from `gnome-config --datadir`
                and adds $(prefix} instead
 
                `gnome-config --prefix` from `gnome-config --datadir`
                and adds $(prefix} instead
 
+       (closes Bug 24 Makefile does not respect prefix when installing
+        GNOME data)
+
 2003-02-24 [christoph] 0.8.10claws49
 
        * src/news.c
 2003-02-24 [christoph] 0.8.10claws49
 
        * src/news.c
index f9bd699..a93346c 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws49
+EXTRA_VERSION=claws50
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 67d5e7a..2587f00 100644 (file)
 
 static gboolean sylpheed_initialized = FALSE;
 
 
 static gboolean sylpheed_initialized = FALSE;
 
+/**
+ * Parse program parameters and remove all parameters
+ * that have been processed. Arguments are pointers to
+ * original passed programm arguments and these will
+ * be modified leaving only unknown parameters for
+ * further processing
+ *
+ * \param argc pointer to number of parameters
+ * \param argv pointer to array of parameter strings
+ */
+static void parse_parameter(int *argc, char ***argv)
+{
+       gint i, j, k;
+
+       g_return_if_fail(argc != NULL);
+       g_return_if_fail(argv != NULL);
+
+       for (i = 1; i < *argc;) {
+               if (strcmp("--debug", (*argv)[i]) == 0) {
+                       debug_set_mode(TRUE);
+
+                       (*argv)[i] = NULL;
+               }
+
+               i += 1;
+       }
+
+       /* Remove NULL args from argv[] for further processing */
+       for (i = 1; i < *argc; i++) {
+               for (k = i; k < *argc; k++)
+                       if ((*argv)[k] != NULL)
+                               break;
+
+               if (k > i) {
+                       k -= i;
+                       for (j = i + k; j < *argc; j++)
+                               (*argv)[j - k] = (*argv)[j];
+                       *argc -= k;
+               }
+       }
+}
+
 gboolean sylpheed_init(int *argc, char ***argv)
 {
        if (sylpheed_initialized)
                return TRUE;
 
 gboolean sylpheed_init(int *argc, char ***argv)
 {
        if (sylpheed_initialized)
                return TRUE;
 
+       parse_parameter(argc, argv);
+
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
index dd56f68..9959058 100644 (file)
@@ -375,9 +375,7 @@ static void parse_cmd_opt(int argc, char *argv[])
        gint i;
 
        for (i = 1; i < argc; i++) {
        gint i;
 
        for (i = 1; i < argc; i++) {
-               if (!strncmp(argv[i], "--debug", 7))
-                       debug_set_mode(TRUE);
-               else if (!strncmp(argv[i], "--receive-all", 13))
+               if (!strncmp(argv[i], "--receive-all", 13))
                        cmd.receive_all = TRUE;
                else if (!strncmp(argv[i], "--receive", 9))
                        cmd.receive = TRUE;
                        cmd.receive_all = TRUE;
                else if (!strncmp(argv[i], "--receive", 9))
                        cmd.receive = TRUE;