Replace some uses of magic offsets with equivalent struct member
accesses.

Signed-off-by: Andrew Price <[email protected]>
---
 gfs2/edit/hexedit.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index 8311534..b4e6d15 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -838,6 +838,7 @@ static int hexdump(uint64_t startaddr, int len)
        uint64_t l;
        const char *lpBuffer = bh->b_data;
        int print_field, cursor_line;
+       const uint32_t block_type = get_block_type(bh);
 
        strcpy(edit_fmt,"%02x");
        pointer = (unsigned char *)lpBuffer + offset;
@@ -935,7 +936,7 @@ static int hexdump(uint64_t startaddr, int len)
                }
                print_gfs2("] ");
                if (print_field >= 0) {
-                       const struct lgfs2_metadata *m = 
find_mtype(get_block_type(bh), sbd.gfs1);
+                       const struct lgfs2_metadata *m = find_mtype(block_type, 
sbd.gfs1);
                        if (m) {
                                const struct lgfs2_metafield *f;
                                unsigned n;
@@ -951,9 +952,9 @@ static int hexdump(uint64_t startaddr, int len)
 
                }
                if (cursor_line) {
-                       if (((*(bh->b_data + 7) == GFS2_METATYPE_IN) ||
-                          (*(bh->b_data + 7) == GFS2_METATYPE_DI &&
-                           (*(bh->b_data + 0x8b) || *(bh->b_data + 0x8a))))) {
+                       if (block_type == GFS2_METATYPE_IN ||
+                           ((block_type == GFS2_METATYPE_DI) &&
+                            ((struct gfs2_dinode*)bh->b_data)->di_height)) {
                                int ptroffset = edit_row[dmode] * 16 +
                                        edit_col[dmode];
 
-- 
1.7.7.6

Reply via email to