From 24ce374f61d80fc331c48fb5629d5f11c67dadcf Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 7 Oct 2007 15:14:54 +0000 Subject: [PATCH] The index parameter to validate_create_child_partition() is optional, but it is mandatory to the KDiskSystem::ValidateCreateChild(), which is invoked, so we need to use a stack variable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22473 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../disk_device_manager/ddm_operation_validation.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/disk_device_manager/ddm_operation_validation.cpp b/src/system/kernel/disk_device_manager/ddm_operation_validation.cpp index d282594798..748583ef78 100644 --- a/src/system/kernel/disk_device_manager/ddm_operation_validation.cpp +++ b/src/system/kernel/disk_device_manager/ddm_operation_validation.cpp @@ -430,23 +430,30 @@ BPrivate::DiskDevice::validate_initialize_partition(KPartition *partition, status_t BPrivate::DiskDevice::validate_create_child_partition(KPartition *partition, int32 changeCounter, off_t *offset, off_t *size, const char *type, - const char *parameters, int32 *index, bool requireShadow) + const char *parameters, int32 *_index, bool requireShadow) { if (!partition || !offset || !size || !type) return B_BAD_VALUE; + // check the partition status_t error = check_partition(partition, changeCounter, requireShadow); if (error != B_OK) return error; + // get the disk system KDiskSystem *diskSystem = partition->DiskSystem(); if (!diskSystem) return B_ENTRY_NOT_FOUND; + // get the info + int32 index; if (diskSystem->ValidateCreateChild(partition, offset, size, type, - parameters, index)) { + parameters, &index)) { + if (_index) + *_index = index; return B_OK; } + return B_ERROR; }