From 35b0dc24898d3beb4edb1bc958d30a18a0749625 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期三, 30 四月 2025 13:43:31 +0800 Subject: [PATCH] update --- jrj/xframe/src/xstring.cpp | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-) diff --git a/jrj/xframe/src/xstring.cpp b/jrj/xframe/src/xstring.cpp index 3bc27b1..785d733 100644 --- a/jrj/xframe/src/xstring.cpp +++ b/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{ -- Gitblit v1.9.3