mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 09:28:01 -05:00
31 lines
649 B
C++
31 lines
649 B
C++
|
#include "mxstring.h"
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
MxString::MxString()
|
||
|
{
|
||
|
// Set string to one char in length and set that char to null terminator
|
||
|
this->m_data = (char *)malloc(1);
|
||
|
this->m_data[0] = 0;
|
||
|
this->m_length = 0;
|
||
|
}
|
||
|
|
||
|
// TODO: this *mostly* matches, again weird with the comparison
|
||
|
const MxString &MxString::operator=(const char *param)
|
||
|
{
|
||
|
if (this->m_data != param)
|
||
|
{
|
||
|
free(this->m_data);
|
||
|
this->m_length = strlen(param);
|
||
|
this->m_data = (char *)malloc(this->m_length + 1);
|
||
|
strcpy(this->m_data, param);
|
||
|
}
|
||
|
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
MxString::~MxString()
|
||
|
{
|
||
|
free(this->m_data);
|
||
|
}
|