mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-26 01:28:30 -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;
|
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
|
// TODO: this *mostly* matches, again weird with the comparison
|
||||||
// OFFSET: LEGO1 0x100ae510
|
// OFFSET: LEGO1 0x100ae510
|
||||||
const MxString &MxString::operator=(const char *param)
|
const MxString &MxString::operator=(const char *param)
|
||||||
|
@ -25,9 +79,3 @@ const MxString &MxString::operator=(const char *param)
|
||||||
|
|
||||||
return *this;
|
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 *);
|
__declspec(dllexport) const MxString &operator=(const char *);
|
||||||
|
|
||||||
MxString();
|
MxString();
|
||||||
|
MxString(const char *);
|
||||||
|
void ToUpperCase();
|
||||||
|
void ToLowerCase();
|
||||||
|
const MxString &operator=(MxString *);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
char *m_data;
|
char *m_data;
|
||||||
|
|
Loading…
Reference in a new issue