mirror of
https://github.com/minetest/irrlicht.git
synced 2025-06-28 06:20:21 +02:00
Speedup: Avoid string copy in CXMLReaderImpl::getAttributeByName
string has operator== for char_type which can save a lot of string allocations when loading xml's. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6206 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
@ -494,14 +494,12 @@ private:
|
||||
// finds a current attribute by name, returns 0 if not found
|
||||
const SAttribute* getAttributeByName(const char_type* name) const
|
||||
{
|
||||
if (!name)
|
||||
return 0;
|
||||
|
||||
core::string<char_type> n = name;
|
||||
|
||||
for (int i=0; i<(int)Attributes.size(); ++i)
|
||||
if (Attributes[i].Name == n)
|
||||
return &Attributes[i];
|
||||
if (name)
|
||||
{
|
||||
for (irr::u32 i=0; i<Attributes.size(); ++i)
|
||||
if (Attributes[i].Name == name)
|
||||
return &Attributes[i];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -644,7 +642,7 @@ private:
|
||||
//! converts the text file into the desired format.
|
||||
/** \param source: begin of the text (without byte order mark)
|
||||
\param pointerToStore: pointer to text data block which can be
|
||||
stored or deleted based on the nesessary conversion.
|
||||
stored or deleted based on the necessary conversion.
|
||||
\param sizeWithoutHeader: Text size in characters without header
|
||||
*/
|
||||
template<class src_char_type>
|
||||
|
Reference in New Issue
Block a user