Enlightenment CVS committal

Author  : mej
Project : eterm
Module  : libast

Dir     : eterm/libast/src


Modified Files:
        options.c 


Log Message:
Fri Feb 24 16:45:38 2006                        Michael Jennings (mej)

Make removal of options from argv[] optional and off by default.
Fixes Eterm problem with WM_COMMAND entries being empty.
----------------------------------------------------------------------

===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/options.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- options.c   26 Oct 2004 18:01:53 -0000      1.18
+++ options.c   24 Feb 2006 21:46:12 -0000      1.19
@@ -29,11 +29,11 @@
  * option parser.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.18 $
- * $Date: 2004/10/26 18:01:53 $
+ * $Revision: 1.19 $
+ * $Date: 2006/02/24 21:46:12 $
  */
 
-static const char __attribute__((unused)) cvs_ident[] = "$Id: options.c,v 1.18 
2004/10/26 18:01:53 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: options.c,v 1.19 
2006/02/24 21:46:12 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -498,7 +498,9 @@
         for (k = 0; k < len; k++) {
             tmp[k] = SPIF_CAST(charptr) STRDUP(argv[k + i]);
             D_OPTIONS(("tmp[%d] == %s\n", k, tmp[k]));
-            argv[k + i] = NULL;
+            if (SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_REMOVE_ARGS)) {
+                argv[k + i] = NULL;
+            }
         }
         tmp[k] = SPIF_NULL_TYPE(charptr);
         *(SPIF_CAST_C(spif_charptr_t **) SPIFOPT_OPT_VALUE(n)) = tmp;
@@ -560,7 +562,7 @@
                 NEXT_LETTER();
             }
         }
-        if (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE)) {
+        if (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE) && 
SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_REMOVE_ARGS)) {
             argv[i] = NULL;
         }
 
@@ -663,7 +665,7 @@
                 ((spifopt_abstract_handler_t) SPIFOPT_OPT_VALUE(j))(val_ptr);
             }
         }
-        if (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE)) {
+        if (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE) && 
SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_REMOVE_ARGS)) {
             argv[i] = NULL;
         }
         NEXT_LOOP();
@@ -671,7 +673,7 @@
 
     if (SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE)) {
         SPIFOPT_FLAGS_CLEAR(SPIFOPT_SETTING_PREPARSE);
-    } else {
+    } else if (SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_REMOVE_ARGS)) {
         for (i = 1, j = 1; i < argc; i++) {
             if (argv[i]) {
                 argv[j] = argv[i];




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to