bsd: Remove usage of optional emplace() with no arguments

Clang 12 currently falls over in the face of this.
This commit is contained in:
Lioncash 2021-02-09 17:50:26 -05:00
parent 1dab8acf5f
commit 0cd40fb523

View File

@ -453,7 +453,8 @@ std::pair<s32, Errno> BSD::SocketImpl(Domain domain, Type type, Protocol protoco
return {-1, Errno::MFILE}; return {-1, Errno::MFILE};
} }
FileDescriptor& descriptor = file_descriptors[fd].emplace(); file_descriptors[fd] = FileDescriptor{};
FileDescriptor& descriptor = *file_descriptors[fd];
// ENONMEM might be thrown here // ENONMEM might be thrown here
LOG_INFO(Service, "New socket fd={}", fd); LOG_INFO(Service, "New socket fd={}", fd);
@ -548,7 +549,8 @@ std::pair<s32, Errno> BSD::AcceptImpl(s32 fd, std::vector<u8>& write_buffer) {
return {-1, Translate(bsd_errno)}; return {-1, Translate(bsd_errno)};
} }
FileDescriptor& new_descriptor = file_descriptors[new_fd].emplace(); file_descriptors[new_fd] = FileDescriptor{};
FileDescriptor& new_descriptor = *file_descriptors[new_fd];
new_descriptor.socket = std::move(result.socket); new_descriptor.socket = std::move(result.socket);
new_descriptor.is_connection_based = descriptor.is_connection_based; new_descriptor.is_connection_based = descriptor.is_connection_based;