+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove nested functions in efiemu core
+
+ * efiemu/runtime/efiemu.c (reflect): make static instead of nested
+
2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
static grub_uint32_t crc32_table [256];
-static void
-init_crc32_table (void)
+static grub_uint32_t
+reflect (grub_uint32_t ref, int len)
{
- auto grub_uint32_t reflect (grub_uint32_t ref, int len);
- grub_uint32_t reflect (grub_uint32_t ref, int len)
+ grub_uint32_t result = 0;
+ int i;
+
+ for (i = 1; i <= len; i++)
{
- grub_uint32_t result = 0;
- int i;
-
- for (i = 1; i <= len; i++)
- {
- if (ref & 1)
- result |= 1 << (len - i);
- ref >>= 1;
- }
-
- return result;
+ if (ref & 1)
+ result |= 1 << (len - i);
+ ref >>= 1;
}
+
+ return result;
+}
+static void
+init_crc32_table (void)
+{
grub_uint32_t polynomial = 0x04c11db7;
int i, j;