From 89b80bd7e840c817cacc79c83db861a0236e2279 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Mon, 16 Dec 2013 04:44:04 -0800 Subject: [PATCH] Replace simpler block usage with function pointers. --- fsck_hfs/dfalib/fsck_journal.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/fsck_hfs/dfalib/fsck_journal.c b/fsck_hfs/dfalib/fsck_journal.c index 0836934..f5e8b12 100644 --- a/fsck_hfs/dfalib/fsck_journal.c +++ b/fsck_hfs/dfalib/fsck_journal.c @@ -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); -- 2.50.0