diff options
author | sfan5 <sfan5@live.de> | 2014-07-06 16:17:46 +0200 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2014-07-06 16:33:02 +0200 |
commit | eadde1e74113ee175708795fc24f8f5d1c746c1d (patch) | |
tree | e6ed75779598a410495a154ae18441ef5949fcb6 | |
parent | 6bd15247f91284f7d7869367eafa9064d7f2f727 (diff) | |
download | minetest-eadde1e74113ee175708795fc24f8f5d1c746c1d.tar.gz minetest-eadde1e74113ee175708795fc24f8f5d1c746c1d.tar.bz2 minetest-eadde1e74113ee175708795fc24f8f5d1c746c1d.zip |
Fix errors/warnings reported by valgrind
-rw-r--r-- | src/connection.cpp | 42 | ||||
-rw-r--r-- | src/gettext.h | 8 | ||||
-rw-r--r-- | src/guiFormSpecMenu.cpp | 9 | ||||
-rw-r--r-- | src/nodedef.cpp | 5 |
4 files changed, 32 insertions, 32 deletions
diff --git a/src/connection.cpp b/src/connection.cpp index 76cb7b8b7..cb1750271 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -125,7 +125,7 @@ std::list<SharedBuffer<u8> > makeSplitPacket( { // Chunk packets, containing the TYPE_SPLIT header std::list<SharedBuffer<u8> > chunks; - + u32 chunk_header_size = 7; u32 maximum_data_size = chunksize_max - chunk_header_size; u32 start = 0; @@ -136,12 +136,12 @@ std::list<SharedBuffer<u8> > makeSplitPacket( end = start + maximum_data_size - 1; if(end > data.getSize() - 1) end = data.getSize() - 1; - + u32 payload_size = end - start + 1; u32 packet_size = chunk_header_size + payload_size; SharedBuffer<u8> chunk(packet_size); - + writeU8(&chunk[0], TYPE_SPLIT); writeU16(&chunk[1], seqnum); // [3] u16 chunk_count is written at next stage @@ -150,7 +150,7 @@ std::list<SharedBuffer<u8> > makeSplitPacket( chunks.push_back(chunk); chunk_count++; - + start = end + 1; chunk_num++; } @@ -465,9 +465,9 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable) sp->reliable = reliable; m_buf[seqnum] = sp; } - + IncomingSplitPacket *sp = m_buf[seqnum]; - + // TODO: These errors should be thrown or something? Dunno. if(chunk_count != sp->chunk_count) LOG(derr_con<<"Connection: WARNING: chunk_count="<<chunk_count @@ -483,15 +483,15 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable) // lag and the server re-sends stuff. if(sp->chunks.find(chunk_num) != sp->chunks.end()) return SharedBuffer<u8>(); - + // Cut chunk data out of packet u32 chunkdatasize = p.data.getSize() - headersize; SharedBuffer<u8> chunkdata(chunkdatasize); memcpy(*chunkdata, &(p.data[headersize]), chunkdatasize); - + // Set chunk data in buffer sp->chunks[chunk_num] = chunkdata; - + // If not all chunks are received, return empty buffer if(sp->allReceived() == false) return SharedBuffer<u8>(); @@ -503,7 +503,7 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable) { totalsize += i->second.getSize(); } - + SharedBuffer<u8> fulldata(totalsize); // Copy chunks to data buffer @@ -561,6 +561,7 @@ Channel::Channel() : next_outgoing_split_seqnum(SEQNUM_INITIAL), current_packet_loss(0), current_packet_too_late(0), + current_packet_successfull(0), packet_loss_counter(0), current_bytes_transfered(0), current_bytes_received(0), @@ -2096,7 +2097,7 @@ void ConnectionReceiveThread::receive() // infrastructure unsigned int packet_maxsize = 1500; SharedBuffer<u8> packetdata(packet_maxsize); - + bool packet_queued = true; unsigned int loop_count = 0; @@ -2146,13 +2147,13 @@ void ConnectionReceiveThread::receive() u16 peer_id = readPeerId(*packetdata); u8 channelnum = readChannel(*packetdata); - + if(channelnum > CHANNEL_COUNT-1){ LOG(derr_con<<m_connection->getDesc() <<"Receive(): Invalid channel "<<channelnum<<std::endl); throw InvalidIncomingDataException("Channel doesn't exist"); } - + /* preserve original peer_id for later usage */ u16 packet_peer_id = peer_id; @@ -2202,7 +2203,7 @@ void ConnectionReceiveThread::receive() } } - + /* mark peer as seen with id */ if (!(packet_peer_id == PEER_ID_INEXISTENT)) peer->setSentWithID(); @@ -2215,7 +2216,7 @@ void ConnectionReceiveThread::receive() { channel = &(dynamic_cast<UDPPeer*>(&peer)->channels[channelnum]); } - + if (channel != 0) { channel->UpdateBytesReceived(received_size); } @@ -2226,17 +2227,17 @@ void ConnectionReceiveThread::receive() SharedBuffer<u8> strippeddata(received_size - BASE_HEADER_SIZE); memcpy(*strippeddata, &packetdata[BASE_HEADER_SIZE], strippeddata.getSize()); - + try{ // Process it (the result is some data with no headers made by us) SharedBuffer<u8> resultdata = processPacket (channel, strippeddata, peer_id, channelnum, false); - + LOG(dout_con<<m_connection->getDesc() <<" ProcessPacket from peer_id: " << peer_id << ",channel: " << (channelnum & 0xFF) << ", returned " << resultdata.getSize() << " bytes" <<std::endl); - + ConnectionEvent e; e.dataReceived(peer_id, resultdata); m_connection->putEvent(e); @@ -2854,11 +2855,11 @@ bool Connection::Connected() if(m_peers.size() != 1) return false; - + std::map<u16, Peer*>::iterator node = m_peers.find(PEER_ID_SERVER); if(node == m_peers.end()) return false; - + if(m_peer_id == PEER_ID_INEXISTENT) return false; @@ -3114,4 +3115,3 @@ std::list<u16> Connection::getPeerIDs() } } // namespace - diff --git a/src/gettext.h b/src/gettext.h index 3299f5b25..81510aed6 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -68,12 +68,12 @@ inline wchar_t* chartowchar_t(const char *str) MultiByteToWideChar( CP_UTF8, 0, (LPCSTR) str, -1, (WCHAR *) nstr, nResult ); } #else - size_t l = strlen(str)+1; - nstr = new wchar_t[l]; + size_t l = strlen(str); + nstr = new wchar_t[l+1]; std::wstring intermediate = narrow_to_wide(str); - memset(nstr,0,l); - memcpy(nstr,intermediate.c_str(),l*sizeof(wchar_t)); + memset(nstr, 0, (l+1)*sizeof(wchar_t)); + memcpy(nstr, intermediate.c_str(), l*sizeof(wchar_t)); #endif return nstr; diff --git a/src/guiFormSpecMenu.cpp b/src/guiFormSpecMenu.cpp index 54414d7e7..7ba3305bc 100644 --- a/src/guiFormSpecMenu.cpp +++ b/src/guiFormSpecMenu.cpp @@ -81,6 +81,7 @@ GUIFormSpecMenu::GUIFormSpecMenu(irr::IrrlichtDevice* dev, m_selected_amount(0), m_selected_dragging(false), m_tooltip_element(NULL), + m_old_tooltip_id(-1), m_allowclose(true), m_lock(false), m_form_src(fsrc), @@ -1301,7 +1302,7 @@ void GUIFormSpecMenu::parseImageButton(parserData* data,std::string element, if (spec.fname == data->focused_fieldname) { Environment->setFocus(e); } - + e->setUseAlphaChannel(true); e->setImage(texture); e->setPressedImage(pressed_texture); @@ -1800,7 +1801,7 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize) m_fields.clear(); m_boxes.clear(); m_tooltips.clear(); - + // Set default values (fits old formspec values) m_bgcolor = video::SColor(140,0,0,0); m_bgfullscreen = false; @@ -1810,7 +1811,7 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize) m_default_tooltip_bgcolor = video::SColor(255,110,130,60); m_default_tooltip_color = video::SColor(255,255,255,255); - + m_slotbordercolor = video::SColor(200,0,0,0); m_slotborder = false; @@ -2828,7 +2829,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event) } } - + if(event.EventType==EET_MOUSE_INPUT_EVENT && event.MouseInput.Event != EMIE_MOUSE_MOVED) { // Mouse event other than movement diff --git a/src/nodedef.cpp b/src/nodedef.cpp index d009a9523..f62c9e82c 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -117,7 +117,7 @@ void NodeBox::deSerialize(std::istream &is) void TileDef::serialize(std::ostream &os, u16 protocol_version) const { if(protocol_version >= 17) - writeU8(os, 1); + writeU8(os, 1); else writeU8(os, 0); os<<serializeString(name); @@ -560,7 +560,7 @@ public: for (ItemGroupList::const_iterator i = def.groups.begin(); i != def.groups.end(); ++i) { std::string group_name = i->first; - + std::map<std::string, GroupItems>::iterator j = m_group_to_items.find(group_name); if (j == m_group_to_items.end()) { @@ -1018,4 +1018,3 @@ void ContentFeatures::deSerializeOld(std::istream &is, int version) throw SerializationError("unsupported ContentFeatures version"); } } - |