]> git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
Switch over to LONGBIT
authorWolfgang Bumiller <blub@speed.at>
Wed, 26 Dec 2012 20:39:00 +0000 (21:39 +0100)
committerWolfgang Bumiller <blub@speed.at>
Wed, 26 Dec 2012 20:39:00 +0000 (21:39 +0100)
gmqcc.h
opts.c

diff --git a/gmqcc.h b/gmqcc.h
index c953b02a0ed047e2ec6cae16aae926c452cdf0af..3a47e74b8e87b532ddced13d6aedd7efbc1264dc 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
@@ -917,18 +917,20 @@ void        ftepp_add_macro        (const char *name,   const char *value);
 /*======================= main.c commandline ========================*/
 /*===================================================================*/
 
-#if 0
+#if 1
 /* Helpers to allow for a whole lot of flags. Otherwise we'd limit
  * to 32 or 64 -f options...
  */
 typedef struct {
     size_t  idx; /* index into an array of 32 bit words */
-    uint8_t bit; /* index _into_ the 32 bit word, thus just uint8 */
+    uint8_t bit; /* bit index for the 8 bit group idx points to */
 } longbit;
 #define LONGBIT(bit) { ((bit)/32), ((bit)%32) }
+#define LONGBIT_SET(B, I) ((B).idx = (I)/32, (B).bit = ((I)%32))
 #else
 typedef uint32_t longbit;
 #define LONGBIT(bit) (bit)
+#define LONGBIT_SET(B, I) ((B) = (I))
 #endif
 
 /*===================================================================*/
diff --git a/opts.c b/opts.c
index c1b0e630783137d07288b921c68debfb50464ed3..269a69d0dc813bfec4b5a07c0e07651aefd37ee9 100644 (file)
--- a/opts.c
+++ b/opts.c
@@ -75,7 +75,7 @@ static bool opts_setflag_all(const char *name, bool on, uint32_t *flags, const o
     for (i = 0; i < listsize; ++i) {
         if (!strcmp(name, list[i].name)) {
             longbit lb = list[i].bit;
-#if 0
+#if 1
             if (on)
                 flags[lb.idx] |= (1<<(lb.bit));
             else
@@ -105,8 +105,9 @@ bool opts_setoptim (const char *name, bool on) {
 }
 
 void opts_set(uint32_t *flags, size_t idx, bool on) {
-    longbit lb = LONGBIT(idx);
-#if 0
+    longbit lb;
+    LONGBIT_SET(lb, idx);
+#if 1
     if (on)
         flags[lb.idx] |= (1<<(lb.bit));
     else