[PATCH 5/9] isofs: convert macro to function in rock.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch converts the SETUP_ROCK_RIDGE macro to a proper function in
fs/isofs/rock.c.

Signed-off-by: Pekka Enberg <[email protected]>
---

 rock.c |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

Index: 2.6/fs/isofs/rock.c
===================================================================
--- 2.6.orig/fs/isofs/rock.c	2005-03-28 16:31:53.000000000 +0300
+++ 2.6/fs/isofs/rock.c	2005-03-28 16:32:13.000000000 +0300
@@ -38,18 +38,22 @@
    same thing in certain places.  We use the macros to ensure that everything
    is done correctly */
 
-#define SETUP_ROCK_RIDGE(DE,CHR,LEN)	      		      	\
-  {LEN= sizeof(struct iso_directory_record) + DE->name_len[0];	\
-  if(LEN & 1) LEN++;						\
-  CHR = ((unsigned char *) DE) + LEN;				\
-  LEN = *((unsigned char *) DE) - LEN;                          \
-  if (LEN<0) LEN=0;                                             \
-  if (ISOFS_SB(inode->i_sb)->s_rock_offset!=-1)                \
-  {                                                             \
-     LEN-=ISOFS_SB(inode->i_sb)->s_rock_offset;                \
-     CHR+=ISOFS_SB(inode->i_sb)->s_rock_offset;                \
-     if (LEN<0) LEN=0;                                          \
-  }                                                             \
+static int setup_rock_ridge(struct iso_directory_record *de, struct inode *inode, unsigned char ** chr)
+{
+	int len = sizeof(struct iso_directory_record) + de->name_len[0];
+	if (len & 1)
+		len++;
+	*chr = ((unsigned char *) de) + len;
+	len = *((unsigned char *) de) - len;
+	if (len < 0)
+		len = 0;
+	if (ISOFS_SB(inode->i_sb)->s_rock_offset != -1) {
+		len -= ISOFS_SB(inode->i_sb)->s_rock_offset;
+		*chr += ISOFS_SB(inode->i_sb)->s_rock_offset;
+		if (len < 0)
+			len = 0;
+	}
+	return len;
 }
 
 /* return length of name field; 0: not found, -1: to be ignored */
@@ -66,7 +70,7 @@
 		return 0;
 	*retname = 0;
 
-	SETUP_ROCK_RIDGE(de, chr, len);
+	len = setup_rock_ridge(de, inode, &chr);
       repeat:
 	{
 		struct rock_ridge *rr;
@@ -187,7 +191,7 @@
 	if (!ISOFS_SB(inode->i_sb)->s_rock)
 		return 0;
 
-	SETUP_ROCK_RIDGE(de, chr, len);
+	len = setup_rock_ridge(de, inode, &chr);
 	if (regard_xa) {
 		chr += 14;
 		len -= 14;
@@ -589,7 +593,7 @@
 	/* Now test for possible Rock Ridge extensions which will override
 	   some of these numbers in the inode structure. */
 
-	SETUP_ROCK_RIDGE(raw_inode, chr, len);
+	len = setup_rock_ridge(raw_inode, inode, &chr);
 
       repeat:
 	while (len > 2) {	/* There may be one byte for padding somewhere */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux