add: if (error == B_OK && partitionMapName) {  if (partitionModule) strcpy(partitionMapName, partitionModule->short_name); else partitionMapName[0] = '\0'; }
context: disk_scanner_get_nth_partition_info(int deviceFD,									const session_info *sessionInfo,									int32 partitionIndex,									extended_partition_info *partitionInfo,									partition_module_info **_partitionModule){	partition_module_info *partitionModule		= (_partitionModule ? *_partitionModule : NULL);	status_t error = (partitionInfo ? B_OK : B_BAD_VALUE);	TRACE(("disk_scanner: get_nth_partition_info(%d, %lld, %lld, %ld, %ld, %ld)\n",		   deviceFD, sessionInfo->offset, sessionInfo->size,		   partitionInfo->info.logical_block_size, partitionInfo->info.session,		   partitionInfo->info.partition));	if (error == B_OK) {		off_t sessionOffset = sessionInfo->offset;		off_t sessionSize = sessionInfo->size;		int32 blockSize = sessionInfo->logical_block_size;		uchar *block = NULL;		// fill in the fields we do already know		partitionInfo->info.logical_block_size = blockSize;		partitionInfo->info.session = sessionInfo->index;		partitionInfo->info.partition = partitionIndex;		// read the first block of the session and get the partition module		if (!partitionModule) {			error = read_block(deviceFD, sessionOffset, blockSize, &block);			if (error == B_OK) {				error = get_partition_module_block(deviceFD, sessionInfo,												   block, &partitionModule);				if (error == B_ENTRY_NOT_FOUND					&& partitionInfo->info.partition == 0) {					// no matching partition module found: return a virtual					// partition info					partitionInfo->info.offset = sessionOffset;					partitionInfo->info.size = sessionSize;					partitionInfo->flags = B_VIRTUAL_PARTITION;					partitionInfo->partition_name[0] = '\0';					partitionInfo->partition_type[0] = '\0';					partitionInfo->partition_code = 0xeb;	// doesn't matter					error = B_OK;				}			}		}		// get the info		if (error == B_OK && partitionModule) {			error = partitionModule->get_nth_info(deviceFD, sessionInfo,				block, partitionIndex, partitionInfo);		}		// cleanup / set results		if (_partitionModule)			*_partitionModule = partitionModule;		else if (partitionModule)			put_module(partitionModule->module.name);		if (block)			free(block);	}	return error;}