summary refs log tree commit diff
path: root/fs/isofs/rock.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2005-06-21 17:16:44 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-21 19:07:36 -0700
commit12121714fbf36023d5892034d0c97df54a451543 (patch)
tree138b73f440bbb7482144e4a51578d23881a864f1 /fs/isofs/rock.c
parent7fa393a1d3d9485e428a3c74b5599190c14b13db (diff)
downloadlinux-12121714fbf36023d5892034d0c97df54a451543.tar.gz
[PATCH] rock: remove CHECK_SP
Remove the CHECK_SP macro.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/isofs/rock.c')
-rw-r--r--fs/isofs/rock.c30
1 files changed, 21 insertions, 9 deletions
diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c
index e981c040a49b..8497c6bd5678 100644
--- a/fs/isofs/rock.c
+++ b/fs/isofs/rock.c
@@ -22,12 +22,21 @@
 
 #define SIG(A,B) ((A) | ((B) << 8))	/* isonum_721() */
 
-/* This is a way of ensuring that we have something in the system
-   use fields that is compatible with Rock Ridge */
-#define CHECK_SP(FAIL)	       			\
-      if(rr->u.SP.magic[0] != 0xbe) FAIL;	\
-      if(rr->u.SP.magic[1] != 0xef) FAIL;       \
-      ISOFS_SB(inode->i_sb)->s_rock_offset=rr->u.SP.skip;
+/*
+ * This is a way of ensuring that we have something in the system
+ *  use fields that is compatible with Rock Ridge.  Return zero on success.
+ */
+
+static int check_sp(struct rock_ridge *rr, struct inode *inode)
+{
+	if (rr->u.SP.magic[0] != 0xbe)
+		return -1;
+	if (rr->u.SP.magic[1] != 0xef)
+		return -1;
+	ISOFS_SB(inode->i_sb)->s_rock_offset = rr->u.SP.skip;
+	return 0;
+}
+
 /* We define a series of macros because each function must do exactly the
    same thing in certain places.  We use the macros to ensure that everything
    is done correctly */
@@ -118,7 +127,8 @@ repeat:
 				goto out;
 			break;
 		case SIG('S', 'P'):
-			CHECK_SP(goto out);
+			if (check_sp(rr, inode))
+				goto out;
 			break;
 		case SIG('C', 'E'):
 			CHECK_CE;
@@ -212,7 +222,8 @@ repeat:
 			break;
 #endif
 		case SIG('S', 'P'):
-			CHECK_SP(goto out);
+			if (check_sp(rr, inode))
+				goto out;
 			break;
 		case SIG('C', 'E'):
 			CHECK_CE;
@@ -570,7 +581,8 @@ repeat:
 				goto out;
 			break;
 		case SIG('S', 'P'):
-			CHECK_SP(goto out);
+			if (check_sp(rr, inode))
+				goto out;
 			break;
 		case SIG('S', 'L'):
 			rpnt = get_symlink_chunk(rpnt, rr,