third_party/tinyxml/tinystr.cpp
void TiXmlString ::operator = (const TiXmlString & copy)
{
    size_t newlen;
    char * newstring;

    if (! copy . length ())
    {
        empty_it ();
        return;
    }
    newlen = copy . length () + 1;
    newstring = new char [newlen];
    // strcpy (newstring, copy . c_str ());
    memcpy (newstring, copy . c_str (), newlen);
    empty_it ();
    allocated = newlen;
    cstring = newstring;
    current_length = newlen - 1;
}
// = operator. Safe when assign own content
operator. Safe when assign own content
operator . Safe when assign own content
void TiXmlString ::operator = (const TiXmlString & copy)
{
    size_t newlen;
    char * newstring;
    if (! copy . length ())
    {
        empty_it ();
        return;
    }
    newlen = copy . length () + 1;
    newstring = new char [newlen];
    memcpy (newstring, copy . c_str (), newlen);
    empty_it ();
    allocated = newlen;
    cstring = newstring;
    current_length = newlen - 1;
}
void TiXmlString :: operator = ( const TiXmlString & copy ) { size_t newlen ; char * newstring ; if ( ! copy . length ( ) ) { empty_it ( ) ; return ; } newlen = copy . length ( ) + 1 ; newstring = new char [ newlen ] ; memcpy ( newstring , copy . c_str ( ) , newlen ) ; empty_it ( ) ; allocated = newlen ; cstring = newstring ; current_length = newlen - 1 ; }
operator.
operator .
// strcpy (newstring, copy . c_str ());