]> git.saurik.com Git - hfs.git/commitdiff
Replace simpler block usage with function pointers.
authorJay Freeman (saurik) <saurik@saurik.com>
Mon, 16 Dec 2013 12:44:04 +0000 (04:44 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 16 Dec 2013 12:44:04 +0000 (04:44 -0800)
fsck_hfs/dfalib/fsck_journal.c

index 08369342b7bdb1a2d1f37e3a30b8f2b59ff44a8d..f5e8b12a1df4669b6eb8d75cf0c45c27746ea4df 100644 (file)
@@ -53,23 +53,27 @@ extern char debug;
 
 typedef struct SwapType {
        const char *name;
-       uint16_t (^swap16)(uint16_t);
-       uint32_t (^swap32)(uint32_t);
-       uint64_t (^swap64)(uint64_t);
+       uint16_t (*swap16)(uint16_t);
+       uint32_t (*swap32)(uint32_t);
+       uint64_t (*swap64)(uint64_t);
 } swapper_t;
 
+uint16_t ident16(uint16_t x) { return x; }
+uint32_t ident32(uint32_t x) { return x; }
+uint64_t ident64(uint64_t x) { return x; }
+
 static swapper_t nativeEndian = {
        "native endian",
-       ^(uint16_t x) { return x; },
-       ^(uint32_t x) { return x; },
-       ^(uint64_t x) { return x; }
+        &ident16,
+        &ident32,
+        &ident64,
 };
 
 static swapper_t swappedEndian = {
        "swapped endian",
-       ^(uint16_t x) { return OSSwapInt16(x); },
-       ^(uint32_t x) { return OSSwapInt32(x); },
-       ^(uint64_t x) { return OSSwapInt64(x); }
+        &_OSSwapInt16,
+        &_OSSwapInt32,
+        &_OSSwapInt64,
 };
 
 typedef int (__lambda_ journal_write_block_t)(off_t, void *, size_t);