/*
* file.c - Filesystem related interfaces
*
- * Copyright (C) 2001 Ethan Benson
+ * Copyright (C) 2001, 2002 Ethan Benson
*
* parse_device_path()
*
p->part_number, p->part_start, p->part_size );
if (partition == -1) {
file->fs = fs_open( file, dev_name, p, file_name );
- if (file->fs != NULL)
- goto bail;
+ if (file->fs == NULL || fserrorno != FILE_ERR_OK)
+ continue;
+ else {
+ partition = p->part_number;
+ goto done;
+ }
}
if ((partition >= 0) && (partition == p->part_number))
found = p;
DEBUG_F( "Using OF defaults.. (found = %p)\n", found );
file->fs = fs_open( file, dev_name, found, file_name );
-bail:
+done:
if (parts)
partitions_free(parts);