iso9660: Fix Forth return value for iso9660_files_open()

There's a mixup of 0 and -1. Don't return failure if iso9660_open() succeeded. Don't return success in case
iso9660_open() or iso9660_mount() failed.

This resolves both a hang when trying to boot cd:,\\:tbxi and failure to boot either cd:,\ppc\bootinfo.txt
or cd:,\ppc\chrp\bootfile.exe despite present on the AIX 6.1 disk.

Cc: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@864 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Andreas Färber
2010-09-28 18:59:41 +00:00
committed by Blue Swirl
parent d3e7688833
commit 5cf3be6ed0

View File

@@ -49,7 +49,7 @@ iso9660_files_open( iso9660_info_t *mi )
if ( mi->volume == NULL ) {
free( path );
close_io( fd );
RET( -1 );
RET( 0 );
}
mi->common->dir = iso9660_opendir( mi->volume, path );
@@ -59,11 +59,11 @@ iso9660_files_open( iso9660_info_t *mi )
iso9660_umount( mi->volume );
close_io( fd );
free( path );
RET( -1 );
RET( 0 );
}
mi->common->type = FILE;
free( path );
RET( 0 );
RET( -1 );
}
mi->common->type = DIR;
free( path );