tree 10b05d436c73e5392efc85eb918138d863ad3f28
parent af15a298a49c9b5844cdaf70e10eb808e54ead2c
author Marcin Slusarz <marcin.slusarz@gmail.com> 1202639588 +0100
committer Jan Kara <jack@suse.cz> 1208434965 +0200

udf: super.c reorganization

reorganize few code blocks in super.c which
were needlessly indented (and hard to read):

so change from:
rettype fun()
{
	init;
	if (sth) {
		long block of code;
	}
}

to:
rettype fun()
{
	init;
	if (!sth)
		return;
	long block of code;
}

or

from:
rettype fun2()
{
	init;
	while (sth) {
		init2();
		if (sth2) {
			long block of code;
		}
	}
}

to:
rettype fun2()
{
	init;
	while (sth) {
		init2();
		if (!sth2)
			continue;
		long block of code;
	}
}

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
