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