Use C++ iterators for Lists in many situations

This commit is contained in:
Aaron Franke
2021-07-15 23:45:57 -04:00
parent b918c4c3ce
commit 4e6efd1b07
218 changed files with 2755 additions and 3004 deletions

View File

@ -65,9 +65,9 @@ void WebSocketMultiplayerPeer::_clear() {
memfree(_current_packet.data);
}
for (List<Packet>::Element *E = _incoming_packets.front(); E; E = E->next()) {
memfree(E->get().data);
E->get().data = nullptr;
for (Packet &E : _incoming_packets) {
memfree(E.data);
E.data = nullptr;
}
_incoming_packets.clear();

View File

@ -190,15 +190,15 @@ void WSLServer::poll() {
remove_ids.push_back(E->key());
}
}
for (List<int>::Element *E = remove_ids.front(); E; E = E->next()) {
_peer_map.erase(E->get());
for (int &E : remove_ids) {
_peer_map.erase(E);
}
remove_ids.clear();
List<Ref<PendingPeer>> remove_peers;
for (List<Ref<PendingPeer>>::Element *E = _pending.front(); E; E = E->next()) {
for (Ref<PendingPeer> E : _pending) {
String resource_name;
Ref<PendingPeer> ppeer = E->get();
Ref<PendingPeer> ppeer = E;
Error err = ppeer->do_handshake(_protocols, handshake_timeout, resource_name);
if (err == ERR_BUSY) {
continue;
@ -224,8 +224,8 @@ void WSLServer::poll() {
remove_peers.push_back(ppeer);
_on_connect(id, ppeer->protocol, resource_name);
}
for (List<Ref<PendingPeer>>::Element *E = remove_peers.front(); E; E = E->next()) {
_pending.erase(E->get());
for (Ref<PendingPeer> E : remove_peers) {
_pending.erase(E);
}
remove_peers.clear();