isle-portable/LEGO1/mxstring.cpp
2023-06-18 20:56:55 -07:00

33 lines
736 B
C++

#include "mxstring.h"
#include <stdlib.h>
#include <string.h>
// OFFSET: LEGO1 0x100ae200
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
// OFFSET: LEGO1 0x100ae510
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;
}
// OFFSET: LEGO1 0x100ae420
MxString::~MxString()
{
free(this->m_data);
}