mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 04:58:13 +00:00
Kernel: Use KResultOr and TRY() for MasterPTY
This commit is contained in:
parent
01993d0af3
commit
631b8e90cd
3 changed files with 6 additions and 18 deletions
|
@ -16,22 +16,12 @@
|
|||
|
||||
namespace Kernel {
|
||||
|
||||
RefPtr<MasterPTY> MasterPTY::try_create(unsigned int index)
|
||||
KResultOr<NonnullRefPtr<MasterPTY>> MasterPTY::try_create(unsigned int index)
|
||||
{
|
||||
auto buffer_or_error = DoubleBuffer::try_create();
|
||||
if (buffer_or_error.is_error())
|
||||
return {};
|
||||
|
||||
auto master_pty = adopt_ref_if_nonnull(new (nothrow) MasterPTY(index, buffer_or_error.release_value()));
|
||||
if (!master_pty)
|
||||
return {};
|
||||
|
||||
auto slave_pty = adopt_ref_if_nonnull(new (nothrow) SlavePTY(*master_pty, index));
|
||||
if (!slave_pty)
|
||||
return {};
|
||||
|
||||
auto buffer = TRY(DoubleBuffer::try_create());
|
||||
auto master_pty = TRY(adopt_nonnull_ref_or_enomem(new (nothrow) MasterPTY(index, move(buffer))));
|
||||
auto slave_pty = TRY(adopt_nonnull_ref_or_enomem(new (nothrow) SlavePTY(*master_pty, index)));
|
||||
master_pty->m_slave = slave_pty;
|
||||
|
||||
return master_pty;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue