diff options
-rw-r--r-- | common.h | 5 | ||||
-rw-r--r-- | mboxd.c | 4 |
2 files changed, 9 insertions, 0 deletions
@@ -83,6 +83,11 @@ static inline int log_2(int val) return ret; } +static inline bool is_power_of_2(unsigned val) +{ + return __builtin_popcount(val) == 1; +} + char *get_dev_mtd(void); #endif /* COMMON_H */ @@ -241,6 +241,10 @@ static bool parse_cmdline(int argc, char **argv, fprintf(stderr, "Unparseable window size\n"); return false; } + if (!is_power_of_2(context->windows.default_size)) { + fprintf(stderr, "Window size not power of 2\n"); + return false; + } break; case 'v': verbosity++; |