Changed to use the DoublyLinked::List implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5019 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -85,7 +85,9 @@ platform_get_boot_device(struct stage2_args *args, Node **_device)
|
|||||||
{
|
{
|
||||||
// print out the boot path (to be removed later?)
|
// print out the boot path (to be removed later?)
|
||||||
|
|
||||||
of_getprop(gChosen, "bootpath", sBootPath, sizeof(sBootPath));
|
int length = of_getprop(gChosen, "bootpath", sBootPath, sizeof(sBootPath));
|
||||||
|
if (length <= 1)
|
||||||
|
return B_ENTRY_NOT_FOUND;
|
||||||
printf("boot path = \"%s\"\n", sBootPath);
|
printf("boot path = \"%s\"\n", sBootPath);
|
||||||
|
|
||||||
int node = of_finddevice(sBootPath);
|
int node = of_finddevice(sBootPath);
|
||||||
@@ -112,11 +114,12 @@ platform_get_boot_device(struct stage2_args *args, Node **_device)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
platform_get_boot_partition(struct stage2_args *args, struct list *list,
|
platform_get_boot_partition(struct stage2_args *args, NodeList *list,
|
||||||
boot::Partition **_partition)
|
boot::Partition **_partition)
|
||||||
{
|
{
|
||||||
|
NodeIterator iterator = list->Iterator();
|
||||||
boot::Partition *partition = NULL;
|
boot::Partition *partition = NULL;
|
||||||
while ((partition = (boot::Partition *)list_get_next_item(list, partition)) != NULL) {
|
while ((partition = (boot::Partition *)iterator.Next()) != NULL) {
|
||||||
// ToDo: just take the first partition for now
|
// ToDo: just take the first partition for now
|
||||||
*_partition = partition;
|
*_partition = partition;
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -127,7 +130,7 @@ platform_get_boot_partition(struct stage2_args *args, struct list *list,
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
platform_add_block_devices(stage2_args *args, list *devicesList)
|
platform_add_block_devices(stage2_args *args, NodeList *devicesList)
|
||||||
{
|
{
|
||||||
// add all block devices to the list of possible boot devices
|
// add all block devices to the list of possible boot devices
|
||||||
|
|
||||||
@@ -147,10 +150,10 @@ platform_add_block_devices(stage2_args *args, list *devicesList)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\t\t(could open device, handle = %p)\n", (void *)handle);
|
|
||||||
Handle *device = new Handle(handle);
|
Handle *device = new Handle(handle);
|
||||||
|
printf("\t\t(could open device, handle = %p, node = %p)\n", (void *)handle, device);
|
||||||
|
|
||||||
list_add_item(devicesList, device);
|
devicesList->Add(device);
|
||||||
}
|
}
|
||||||
printf("\t(loop ended with %ld)\n", status);
|
printf("\t(loop ended with %ld)\n", status);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user