#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
+/* Maximum number of array elements to allocate on the stack (used in various
+ * places when large temporary buffers are needed). */
+#define STACK_MAX 32768
+
#ifdef ENABLE_CUSTOM_MEMORY_ALLOCATOR
extern void *
wimlib_malloc(size_t) _malloc_attribute;
#endif
}
+static inline bool
+is_power_of_2(unsigned long n)
+{
+ return (n != 0 && (n & (n - 1)) == 0);
+
+}
+
static inline u64
hash_u64(u64 n)
{
return n * 0x9e37fffffffc0001ULL;
}
+static inline int
+cmp_u64(u64 n1, u64 n2)
+{
+ if (n1 < n2)
+ return -1;
+ else if (n1 > n2)
+ return 1;
+ else
+ return 0;
+}
+
/* is_any_path_separator() - characters treated as path separators in WIM path
* specifications and capture configuration files (the former will be translated
* to WIM_PATH_SEPARATOR; the latter will be translated to