Enlightenment CVS committal

Author  : mej
Project : eterm
Module  : libast

Dir     : eterm/libast/src


Modified Files:
        options.c 


Log Message:
Tue Oct 26 13:58:45 2004                        Michael Jennings (mej)

Pre-parsing is kinda unique, and most applications probably won't need
it.  So now pre-parsing of options must be specifically requested.
----------------------------------------------------------------------

===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/options.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- options.c   26 Oct 2004 16:06:50 -0000      1.17
+++ options.c   26 Oct 2004 18:01:53 -0000      1.18
@@ -29,11 +29,11 @@
  * option parser.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.17 $
- * $Date: 2004/10/26 16:06:50 $
+ * $Revision: 1.18 $
+ * $Date: 2004/10/26 18:01:53 $
  */
 
-static const char __attribute__((unused)) cvs_ident[] = "$Id: options.c,v 1.17 
2004/10/26 16:06:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: options.c,v 1.18 
2004/10/26 18:01:53 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -61,8 +61,8 @@
 /** Next loop.  Proceed to the next parsing stage (letter or word). */
 #define NEXT_LOOP()      D_OPTIONS(("NEXT_LOOP()\n")); if (islong || val_ptr) 
{NEXT_ARG();} else {NEXT_LETTER();} NOP
 /** Option parse test.  Returns true IFF the option should be parsed on this pass. */
-#define SHOULD_PARSE(j)  ((SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_POSTPARSE) && 
!SPIFOPT_OPT_IS_PREPARSE(j)) \
-                           || (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_POSTPARSE) && 
SPIFOPT_OPT_IS_PREPARSE(j)))
+#define SHOULD_PARSE(j)  ((SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE) && 
SPIFOPT_OPT_IS_PREPARSE(j)) \
+                           || (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE) && 
!SPIFOPT_OPT_IS_PREPARSE(j)))
 /[EMAIL PROTECTED]/
 
 /**
@@ -560,7 +560,7 @@
                 NEXT_LETTER();
             }
         }
-        if (SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_POSTPARSE)) {
+        if (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE)) {
             argv[i] = NULL;
         }
 
@@ -663,13 +663,15 @@
                 ((spifopt_abstract_handler_t) SPIFOPT_OPT_VALUE(j))(val_ptr);
             }
         }
-        if (SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_POSTPARSE)) {
+        if (!SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE)) {
             argv[i] = NULL;
         }
         NEXT_LOOP();
     }
 
-    if (SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_POSTPARSE)) {
+    if (SPIFOPT_FLAGS_IS_SET(SPIFOPT_SETTING_PREPARSE)) {
+        SPIFOPT_FLAGS_CLEAR(SPIFOPT_SETTING_PREPARSE);
+    } else {
         for (i = 1, j = 1; i < argc; i++) {
             if (argv[i]) {
                 argv[j] = argv[i];
@@ -679,8 +681,6 @@
         if (j > 1) {
             argv[j] = NULL;
         }
-    } else {
-        SPIFOPT_FLAGS_SET(SPIFOPT_SETTING_POSTPARSE);
     }
 }
 




-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to