Selaa lähdekoodia

[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>
Andrew Morton 20 vuotta sitten
vanhempi
commit
12121714fb
1 muutettua tiedostoa jossa 21 lisäystä ja 9 poistoa
  1. 21 9
      fs/isofs/rock.c

+ 21 - 9
fs/isofs/rock.c

@@ -22,12 +22,21 @@
 
 
 #define SIG(A,B) ((A) | ((B) << 8))	/* isonum_721() */
 #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
 /* 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
    same thing in certain places.  We use the macros to ensure that everything
    is done correctly */
    is done correctly */
@@ -118,7 +127,8 @@ repeat:
 				goto out;
 				goto out;
 			break;
 			break;
 		case SIG('S', 'P'):
 		case SIG('S', 'P'):
-			CHECK_SP(goto out);
+			if (check_sp(rr, inode))
+				goto out;
 			break;
 			break;
 		case SIG('C', 'E'):
 		case SIG('C', 'E'):
 			CHECK_CE;
 			CHECK_CE;
@@ -212,7 +222,8 @@ repeat:
 			break;
 			break;
 #endif
 #endif
 		case SIG('S', 'P'):
 		case SIG('S', 'P'):
-			CHECK_SP(goto out);
+			if (check_sp(rr, inode))
+				goto out;
 			break;
 			break;
 		case SIG('C', 'E'):
 		case SIG('C', 'E'):
 			CHECK_CE;
 			CHECK_CE;
@@ -570,7 +581,8 @@ repeat:
 				goto out;
 				goto out;
 			break;
 			break;
 		case SIG('S', 'P'):
 		case SIG('S', 'P'):
-			CHECK_SP(goto out);
+			if (check_sp(rr, inode))
+				goto out;
 			break;
 			break;
 		case SIG('S', 'L'):
 		case SIG('S', 'L'):
 			rpnt = get_symlink_chunk(rpnt, rr,
 			rpnt = get_symlink_chunk(rpnt, rr,