LiFan
2025-04-30 35b0dc24898d3beb4edb1bc958d30a18a0749625
jrj/xframe/src/xstring.cpp
@@ -172,7 +172,8 @@
        p->initial();
        p->flag = kUTF16 | kShouldFree;
        p->m_len = len;
        nstring::toWStr(value,p->alloc(p->m_len+1),p->m_len+1);
        p->m_val = p->alloc(p->m_len + 1);
        nstring::toWStr(value,p->m_val,p->m_len+1);
        return p;
    }
    
@@ -185,7 +186,8 @@
        p->initial();
        p->flag = kUTF16 | kShouldFree;
        p->m_len = len;
        nstring::toWStr(value,p->alloc(p->m_len+1),p->m_len+1);
        p->m_val = p->alloc(p->m_len + 1);
        nstring::toWStr(value,p->m_val,p->m_len+1);
        return p;
    }
public:
@@ -255,6 +257,7 @@
    if(rhs.data)((KStringBlock<wchar_t>*)rhs.data)->AddRef();
}
xstring::xstring(wchar_t* val, bool shouldSysFree) :data(KStringBlock<wchar_t>::make(val,shouldSysFree))
{
@@ -268,14 +271,19 @@
{
}
xstring::xstring(LPARAM val, bool bdata) :data(bdata?(void*)val:(KStringBlock<wchar_t>::make(val)))
{
    if (bdata)
    {
        ((KStringBlock<wchar_t>*)data)->AddRef();
    }
}
xstring::xstring(double val):data((KStringBlock<wchar_t>::make(val)))
{
}
xstring::xstring(LPARAM val):data((KStringBlock<wchar_t>::make(val)))
{
}
xstring::~xstring()
{
@@ -373,7 +381,7 @@
xstring::operator bool()
{
    return this->isEmpty();
    return !this->isEmpty();
}
const wchar_t* xstring::c_str(bool bclone) const{