From 69ca48293b089073a494c36faafaee3f0c83e7a4 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期五, 28 六月 2024 14:48:08 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj
---
jrj/xframe/src/xstring.cpp | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/jrj/xframe/src/xstring.cpp b/jrj/xframe/src/xstring.cpp
index 23f1c2c..ff59009 100644
--- a/jrj/xframe/src/xstring.cpp
+++ b/jrj/xframe/src/xstring.cpp
@@ -255,6 +255,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 +269,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()
{
@@ -284,8 +290,13 @@
xstring& xstring::operator =(const xstring& rhs)
{
if (data)((KStringBlock<wchar_t>*)data)->Release();
- ((KStringBlock<wchar_t>*)rhs.data)->AddRef();
- data = rhs.data;
+ if (rhs.data)
+ {
+ ((KStringBlock<wchar_t>*)rhs.data)->AddRef();
+ data = rhs.data;
+ }
+ else
+ data = nullptr;
return *this;
}
xstring& xstring::operator =(const wchar_t* rhs)
@@ -590,7 +601,11 @@
return false;
}
-xstring xstring::replace(wchar_t* from, wchar_t* to, int pos)
+xstring xstring::replace(const wchar_t* from, const wchar_t* to)
+{
+ return replace(from, to, 0);
+}
+xstring xstring::replace(const wchar_t* from, const wchar_t* to, int pos)
{
const wchar_t* pstr = c_str();
if (!pstr) return 0;
--
Gitblit v1.9.3