mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 07:28:00 -05:00
add more MxString functions (#31)
This commit is contained in:
parent
290c006d14
commit
6207d1f775
2 changed files with 58 additions and 6 deletions
|
@ -11,6 +11,60 @@ MxString::MxString()
|
|||
this->m_length = 0;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ae2a0
|
||||
MxString::MxString(const MxString &str)
|
||||
{
|
||||
this->m_length = str.m_length;
|
||||
this->m_data = (char *)malloc(this->m_length + 1);
|
||||
strcpy(this->m_data, str.m_data);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ae350
|
||||
MxString::MxString(const char *str)
|
||||
{
|
||||
if (str) {
|
||||
this->m_length = strlen(str);
|
||||
this->m_data = (char *)malloc(this->m_length + 1);
|
||||
strcpy(this->m_data, str);
|
||||
} else {
|
||||
this->m_data = (char *)malloc(1);
|
||||
this->m_data[0] = 0;
|
||||
this->m_length = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ae420
|
||||
MxString::~MxString()
|
||||
{
|
||||
free(this->m_data);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ae490
|
||||
void MxString::ToUpperCase()
|
||||
{
|
||||
strupr(this->m_data);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ae4a0
|
||||
void MxString::ToLowerCase()
|
||||
{
|
||||
strlwr(this->m_data);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ae4b0
|
||||
const MxString &MxString::operator=(MxString *param)
|
||||
{
|
||||
if (this->m_data != param->m_data)
|
||||
{
|
||||
free(this->m_data);
|
||||
this->m_length = param->m_length;
|
||||
this->m_data = (char *)malloc(this->m_length + 1);
|
||||
strcpy(this->m_data, param->m_data);
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
// TODO: this *mostly* matches, again weird with the comparison
|
||||
// OFFSET: LEGO1 0x100ae510
|
||||
const MxString &MxString::operator=(const char *param)
|
||||
|
@ -25,9 +79,3 @@ const MxString &MxString::operator=(const char *param)
|
|||
|
||||
return *this;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ae420
|
||||
MxString::~MxString()
|
||||
{
|
||||
free(this->m_data);
|
||||
}
|
||||
|
|
|
@ -11,6 +11,10 @@ class MxString : public MxCore
|
|||
__declspec(dllexport) const MxString &operator=(const char *);
|
||||
|
||||
MxString();
|
||||
MxString(const char *);
|
||||
void ToUpperCase();
|
||||
void ToLowerCase();
|
||||
const MxString &operator=(MxString *);
|
||||
|
||||
private:
|
||||
char *m_data;
|
||||
|
|
Loading…
Reference in a new issue