Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d372116 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds
Browse files

[PATCH] rock: lindent it



Trying to turn rock.c into something which humans can read so we can fix some
bugs.

Start out by feeding it through scripts/Lindent.

Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 8a966191
Loading
Loading
Loading
Loading
+356 −291
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@

#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)	       			\
@@ -93,7 +92,8 @@ int get_rock_ridge_filename(struct iso_directory_record * de,
	CONTINUE_DECLS;
	int retnamlen = 0, truncate = 0;

  if (!ISOFS_SB(inode->i_sb)->s_rock) return 0;
	if (!ISOFS_SB(inode->i_sb)->s_rock)
		return 0;
	*retname = 0;

	SETUP_ROCK_RIDGE(de, chr, len);
@@ -104,15 +104,18 @@ int get_rock_ridge_filename(struct iso_directory_record * de,

		while (len > 2) {	/* There may be one byte for padding somewhere */
			rr = (struct rock_ridge *)chr;
      if (rr->len < 3) goto out; /* Something got screwed up here */
			if (rr->len < 3)
				goto out;	/* Something got screwed up here */
			sig = isonum_721(chr);
			chr += rr->len;
			len -= rr->len;
      if (len < 0) goto out;	/* corrupted isofs */
			if (len < 0)
				goto out;	/* corrupted isofs */

			switch (sig) {
			case SIG('R', 'R'):
	if((rr->u.RR.flags[0] & RR_NM) == 0) goto out;
				if ((rr->u.RR.flags[0] & RR_NM) == 0)
					goto out;
				break;
			case SIG('S', 'P'):
				CHECK_SP(goto out);
@@ -121,8 +124,10 @@ int get_rock_ridge_filename(struct iso_directory_record * de,
				CHECK_CE;
				break;
			case SIG('N', 'M'):
	if (truncate) break;
	if (rr->len < 5) break;
				if (truncate)
					break;
				if (rr->len < 5)
					break;
				/*
				 * If the flags are 2 or 4, this indicates '.' or '..'.
				 * We don't want to do anything with this, because it
@@ -135,7 +140,9 @@ int get_rock_ridge_filename(struct iso_directory_record * de,
				}

				if (rr->u.NM.flags & ~1) {
	  printk("Unsupported NM flag settings (%d)\n",rr->u.NM.flags);
					printk
					    ("Unsupported NM flag settings (%d)\n",
					     rr->u.NM.flags);
					break;
				}
				if ((strlen(retname) + rr->len - 5) >= 254) {
@@ -146,7 +153,8 @@ int get_rock_ridge_filename(struct iso_directory_record * de,
				retnamlen += rr->len - 5;
				break;
			case SIG('R', 'E'):
	if (buffer) kfree(buffer);
				if (buffer)
					kfree(buffer);
				return -1;
			default:
				break;
@@ -154,10 +162,12 @@ int get_rock_ridge_filename(struct iso_directory_record * de,
		}
	}
	MAYBE_CONTINUE(repeat, inode);
  if (buffer) kfree(buffer);
	if (buffer)
		kfree(buffer);
	return retnamlen;	/* If 0, this file did not have a NM field */
      out:
  if(buffer) kfree(buffer);
	if (buffer)
		kfree(buffer);
	return 0;
}

@@ -170,14 +180,15 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
	int symlink_len = 0;
	CONTINUE_DECLS;

  if (!ISOFS_SB(inode->i_sb)->s_rock) return 0;
	if (!ISOFS_SB(inode->i_sb)->s_rock)
		return 0;

	SETUP_ROCK_RIDGE(de, chr, len);
  if (regard_xa)
   {
	if (regard_xa) {
		chr += 14;
		len -= 14;
     if (len<0) len=0;
		if (len < 0)
			len = 0;
	}

      repeat:
@@ -189,17 +200,20 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,

		while (len > 2) {	/* There may be one byte for padding somewhere */
			rr = (struct rock_ridge *)chr;
      if (rr->len < 3) goto out; /* Something got screwed up here */
			if (rr->len < 3)
				goto out;	/* Something got screwed up here */
			sig = isonum_721(chr);
			chr += rr->len;
			len -= rr->len;
      if (len < 0) goto out;	/* corrupted isofs */
			if (len < 0)
				goto out;	/* corrupted isofs */

			switch (sig) {
#ifndef CONFIG_ZISOFS		/* No flag for SF or ZF */
			case SIG('R', 'R'):
				if ((rr->u.RR.flags[0] &
 	    (RR_PX | RR_TF | RR_SL | RR_CL)) == 0) goto out;
				     (RR_PX | RR_TF | RR_SL | RR_CL)) == 0)
					goto out;
				break;
#endif
			case SIG('S', 'P'):
@@ -211,8 +225,10 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
			case SIG('E', 'R'):
				ISOFS_SB(inode->i_sb)->s_rock = 1;
				printk(KERN_DEBUG "ISO 9660 Extensions: ");
	{ int p;
	  for(p=0;p<rr->u.ER.len_id;p++) printk("%c",rr->u.ER.data[p]);
				{
					int p;
					for (p = 0; p < rr->u.ER.len_id; p++)
						printk("%c", rr->u.ER.data[p]);
				}
				printk("\n");
				break;
@@ -223,7 +239,8 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
				inode->i_gid = isonum_733(rr->u.PX.gid);
				break;
			case SIG('P', 'N'):
	{ int high, low;
				{
					int high, low;
					high = isonum_733(rr->u.PN.dev_high);
					low = isonum_733(rr->u.PN.dev_low);
					/*
@@ -234,9 +251,11 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
					 * stored in the low field, and use that.
					 */
					if ((low & ~0xff) && high == 0) {
	    inode->i_rdev = MKDEV(low >> 8, low & 0xff);
						inode->i_rdev =
						    MKDEV(low >> 8, low & 0xff);
					} else {
	    inode->i_rdev = MKDEV(high, low);
						inode->i_rdev =
						    MKDEV(high, low);
					}
				}
				break;
@@ -245,24 +264,33 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
				   Try to handle this correctly for either case. */
				cnt = 0;	/* Rock ridge never appears on a High Sierra disk */
				if (rr->u.TF.flags & TF_CREATE) {
	  inode->i_ctime.tv_sec = iso_date(rr->u.TF.times[cnt++].time, 0);
					inode->i_ctime.tv_sec =
					    iso_date(rr->u.TF.times[cnt++].time,
						     0);
					inode->i_ctime.tv_nsec = 0;
				}
				if (rr->u.TF.flags & TF_MODIFY) {
	  inode->i_mtime.tv_sec = iso_date(rr->u.TF.times[cnt++].time, 0);
					inode->i_mtime.tv_sec =
					    iso_date(rr->u.TF.times[cnt++].time,
						     0);
					inode->i_mtime.tv_nsec = 0;
				}
				if (rr->u.TF.flags & TF_ACCESS) {
	  inode->i_atime.tv_sec = iso_date(rr->u.TF.times[cnt++].time, 0);
					inode->i_atime.tv_sec =
					    iso_date(rr->u.TF.times[cnt++].time,
						     0);
					inode->i_atime.tv_nsec = 0;
				}
				if (rr->u.TF.flags & TF_ATTRIBUTES) {
	  inode->i_ctime.tv_sec = iso_date(rr->u.TF.times[cnt++].time, 0);
					inode->i_ctime.tv_sec =
					    iso_date(rr->u.TF.times[cnt++].time,
						     0);
					inode->i_ctime.tv_nsec = 0;
				}
				break;
			case SIG('S', 'L'):
	{int slen;
				{
					int slen;
					struct SL_component *slp;
					struct SL_component *oldslp;
					slen = rr->len - 5;
@@ -272,7 +300,8 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
						rootflag = 0;
						switch (slp->flags & ~1) {
						case 0:
	     inode->i_size += slp->len;
							inode->i_size +=
							    slp->len;
							break;
						case 2:
							inode->i_size += 1;
@@ -285,33 +314,48 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
							inode->i_size += 1;
							break;
						default:
	     printk("Symlink component flag not implemented\n");
							printk
							    ("Symlink component flag not implemented\n");
						}
						slen -= slp->len + 2;
						oldslp = slp;
	   slp = (struct SL_component *) (((char *) slp) + slp->len + 2);
						slp =
						    (struct SL_component
						     *)(((char *)slp) +
							slp->len + 2);

						if (slen < 2) {
	     if(    ((rr->u.SL.flags & 1) != 0) 
		    && ((oldslp->flags & 1) == 0) ) inode->i_size += 1;
							if (((rr->u.SL.
							      flags & 1) != 0)
							    &&
							    ((oldslp->
							      flags & 1) == 0))
								inode->i_size +=
								    1;
							break;
						}

						/*
						 * If this component record isn't continued, then append a '/'.
						 */
	   if (!rootflag && (oldslp->flags & 1) == 0)
						if (!rootflag
						    && (oldslp->flags & 1) == 0)
							inode->i_size += 1;
					}
				}
				symlink_len = inode->i_size;
				break;
			case SIG('R', 'E'):
	printk(KERN_WARNING "Attempt to read inode for relocated directory\n");
				printk(KERN_WARNING
				       "Attempt to read inode for relocated directory\n");
				goto out;
			case SIG('C', 'L'):
	ISOFS_I(inode)->i_first_extent = isonum_733(rr->u.CL.location);
	reloc = isofs_iget(inode->i_sb, ISOFS_I(inode)->i_first_extent, 0);
				ISOFS_I(inode)->i_first_extent =
				    isonum_733(rr->u.CL.location);
				reloc =
				    isofs_iget(inode->i_sb,
					       ISOFS_I(inode)->i_first_extent,
					       0);
				if (!reloc)
					goto out;
				inode->i_mode = reloc->i_mode;
@@ -332,20 +376,42 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
					int algo;
					algo = isonum_721(rr->u.ZF.algorithm);
					if (algo == SIG('p', 'z')) {
			      int block_shift = isonum_711(&rr->u.ZF.parms[1]);
			      if ( block_shift < PAGE_CACHE_SHIFT || block_shift > 17 ) {
				      printk(KERN_WARNING "isofs: Can't handle ZF block size of 2^%d\n", block_shift);
						int block_shift =
						    isonum_711(&rr->u.ZF.
							       parms[1]);
						if (block_shift <
						    PAGE_CACHE_SHIFT
						    || block_shift > 17) {
							printk(KERN_WARNING
							       "isofs: Can't handle ZF block size of 2^%d\n",
							       block_shift);
						} else {
							/* Note: we don't change i_blocks here */
				      ISOFS_I(inode)->i_file_format = isofs_file_compressed;
							ISOFS_I(inode)->
							    i_file_format =
							    isofs_file_compressed;
							/* Parameters to compression algorithm (header size, block size) */
				      ISOFS_I(inode)->i_format_parm[0] = isonum_711(&rr->u.ZF.parms[0]);
				      ISOFS_I(inode)->i_format_parm[1] = isonum_711(&rr->u.ZF.parms[1]);
				      inode->i_size = isonum_733(rr->u.ZF.real_size);
							ISOFS_I(inode)->
							    i_format_parm[0] =
							    isonum_711(&rr->u.
								       ZF.
								       parms
								       [0]);
							ISOFS_I(inode)->
							    i_format_parm[1] =
							    isonum_711(&rr->u.
								       ZF.
								       parms
								       [1]);
							inode->i_size =
							    isonum_733(rr->u.ZF.
								       real_size);
						}
					} else {
			      printk(KERN_WARNING "isofs: Unknown ZF compression algorithm: %c%c\n",
				     rr->u.ZF.algorithm[0], rr->u.ZF.algorithm[1]);
						printk(KERN_WARNING
						       "isofs: Unknown ZF compression algorithm: %c%c\n",
						       rr->u.ZF.algorithm[0],
						       rr->u.ZF.algorithm[1]);
					}
				}
				break;
@@ -357,7 +423,8 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de,
	}
	MAYBE_CONTINUE(repeat, inode);
      out:
  if(buffer) kfree(buffer);
	if (buffer)
		kfree(buffer);
	return 0;
}

@@ -429,15 +496,13 @@ static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit)
	return rpnt;
}

int parse_rock_ridge_inode(struct iso_directory_record * de,
			   struct inode * inode)
int parse_rock_ridge_inode(struct iso_directory_record *de, struct inode *inode)
{
	int result = parse_rock_ridge_inode_internal(de, inode, 0);
	/* if rockridge flag was reset and we didn't look for attributes
	 * behind eventual XA attributes, have a look there */
	if ((ISOFS_SB(inode->i_sb)->s_rock_offset == -1)
       &&(ISOFS_SB(inode->i_sb)->s_rock==2))
     {
	    && (ISOFS_SB(inode->i_sb)->s_rock == 2)) {
		result = parse_rock_ridge_inode_internal(de, inode, 14);
	}
	return result;