Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
ce9c390e
Kaydet (Commit)
ce9c390e
authored
Eyl 08, 2013
tarafından
Caolán McNamara
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Related: fdo#38838 String::ReleaseBufferAccess is now no more
Change-Id: Ib5390183e3d98a23f9243debfe3624561ca92535
üst
3b21a165
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
43 deletions
+11
-43
string.hxx
include/tools/string.hxx
+0
-1
interpr1.cxx
sc/source/core/tool/interpr1.cxx
+11
-17
tustring.cxx
tools/source/string/tustring.cxx
+0
-25
No files found.
include/tools/string.hxx
Dosyayı görüntüle @
ce9c390e
...
@@ -274,7 +274,6 @@ public:
...
@@ -274,7 +274,6 @@ public:
const
sal_Unicode
*
GetBuffer
()
const
{
return
mpData
->
maStr
;
}
const
sal_Unicode
*
GetBuffer
()
const
{
return
mpData
->
maStr
;
}
sal_Unicode
*
GetBufferAccess
();
sal_Unicode
*
GetBufferAccess
();
void
ReleaseBufferAccess
(
xub_StrLen
nLen
=
STRING_LEN
);
friend
sal_Bool
operator
==
(
const
UniString
&
rStr1
,
const
UniString
&
rStr2
)
friend
sal_Bool
operator
==
(
const
UniString
&
rStr1
,
const
UniString
&
rStr2
)
{
return
rStr1
.
Equals
(
rStr2
);
}
{
return
rStr1
.
Equals
(
rStr2
);
}
...
...
sc/source/core/tool/interpr1.cxx
Dosyayı görüntüle @
ce9c390e
...
@@ -3158,31 +3158,25 @@ void ScInterpreter::ScUpper()
...
@@ -3158,31 +3158,25 @@ void ScInterpreter::ScUpper()
void
ScInterpreter
::
ScPropper
()
void
ScInterpreter
::
ScPropper
()
{
{
//2do: what to do with I18N-CJK ?!?
//2do: what to do with I18N-CJK ?!?
String aStr( GetString() );
OUStringBuffer
aStr
(
GetString
());
const xub_StrLen nLen = aStr.Len();
const
sal_Int32
nLen
=
aStr
.
getLength
();
// #i82487# don't try to write to empty string's BufferAccess
// (would crash now that the empty string is const)
if
(
nLen
>
0
)
if
(
nLen
>
0
)
{
{
String aUpr( ScGlobal::pCharClass->uppercase( aStr ) );
OUString
aUpr
(
ScGlobal
::
pCharClass
->
uppercase
(
aStr
.
toString
()));
String aLwr( ScGlobal::pCharClass->lowercase( aStr ) );
OUString
aLwr
(
ScGlobal
::
pCharClass
->
lowercase
(
aStr
.
toString
()));
sal_Unicode* pStr = aStr.GetBufferAccess();
aStr
[
0
]
=
aUpr
[
0
];
const sal_Unicode* pUpr = aUpr.GetBuffer();
sal_Int32
nPos
=
1
;
const sal_Unicode* pLwr = aLwr.GetBuffer();
*pStr = *pUpr;
xub_StrLen nPos = 1;
while
(
nPos
<
nLen
)
while
(
nPos
<
nLen
)
{
{
OUString aTmpStr(
p
Str[nPos-1] );
OUString
aTmpStr
(
a
Str
[
nPos
-
1
]
);
if
(
!
ScGlobal
::
pCharClass
->
isLetter
(
aTmpStr
,
0
)
)
if
(
!
ScGlobal
::
pCharClass
->
isLetter
(
aTmpStr
,
0
)
)
pStr[nPos] = p
Upr[nPos];
aStr
[
nPos
]
=
a
Upr
[
nPos
];
else
else
pStr[nPos] = p
Lwr[nPos];
aStr
[
nPos
]
=
a
Lwr
[
nPos
];
nPos++
;
++
nPos
;
}
}
aStr.ReleaseBufferAccess( nLen );
}
}
PushString(
aStr
);
PushString
(
aStr
.
makeStringAndClear
()
);
}
}
...
...
tools/source/string/tustring.cxx
Dosyayı görüntüle @
ce9c390e
...
@@ -240,31 +240,6 @@ STRCODE* STRING::GetBufferAccess()
...
@@ -240,31 +240,6 @@ STRCODE* STRING::GetBufferAccess()
return
mpData
->
maStr
;
return
mpData
->
maStr
;
}
}
void
STRING
::
ReleaseBufferAccess
(
xub_StrLen
nLen
)
{
// String not consinstent, thus no functionality test
DBG_CHKTHIS
(
STRING
,
NULL
);
DBG_ASSERT
(
mpData
->
mnRefCount
==
1
,
"String::ReleaseCharStr() called for String with RefCount"
);
if
(
nLen
>
mpData
->
mnLen
)
nLen
=
ImplStringLen
(
mpData
->
maStr
);
OSL_ASSERT
(
nLen
<=
mpData
->
mnLen
);
if
(
!
nLen
)
{
STRING_NEW
((
STRING_TYPE
**
)
&
mpData
);
}
// shorten buffer is difference > 8 chars
else
if
(
mpData
->
mnLen
-
nLen
>
8
)
{
STRINGDATA
*
pNewData
=
ImplAllocData
(
nLen
);
memcpy
(
pNewData
->
maStr
,
mpData
->
maStr
,
nLen
*
sizeof
(
STRCODE
)
);
STRING_RELEASE
((
STRING_TYPE
*
)
mpData
);
mpData
=
pNewData
;
}
else
mpData
->
mnLen
=
nLen
;
}
STRING
&
STRING
::
Insert
(
STRCODE
c
,
xub_StrLen
nIndex
)
STRING
&
STRING
::
Insert
(
STRCODE
c
,
xub_StrLen
nIndex
)
{
{
DBG_CHKTHIS
(
STRING
,
DBGCHECKSTRING
);
DBG_CHKTHIS
(
STRING
,
DBGCHECKSTRING
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment