Switch over to LONGBIT

This commit is contained in:
Wolfgang Bumiller 2012-12-26 21:39:00 +01:00
parent 24161543d9
commit b42328dbc6
2 changed files with 8 additions and 5 deletions

View file

@ -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
/*===================================================================*/

7
opts.c
View file

@ -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