summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-07-31 13:27:46 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-07-31 16:39:20 +0100
commit1f77c4320e473a28a7f3a30ea367fbfaa2c44784 (patch)
tree5dfda401db760e7089beee816a368e9be2db2b31 /svl
parentcc5b8609490637e3a19761a965af9fdd47310954 (diff)
use of a pointer to a temporary strings buffer is very wrong
Change-Id: Id5bee1f5120afb6efb60245a4606a4a15bb6db79
Diffstat (limited to 'svl')
-rw-r--r--svl/source/svdde/ddesvr.cxx20
1 files changed, 11 insertions, 9 deletions
diff --git a/svl/source/svdde/ddesvr.cxx b/svl/source/svdde/ddesvr.cxx
index ea221a76b846..d713191f31a4 100644
--- a/svl/source/svdde/ddesvr.cxx
+++ b/svl/source/svdde/ddesvr.cxx
@@ -1013,31 +1013,33 @@ String DdeService::Formats()
{
String s;
long f;
- TCHAR buf[128];
- LPCTSTR p;
short n = 0;
- for ( size_t i = 0; i < aFormats.size(); ++i, n++ )
+ for (size_t i = 0; i < aFormats.size(); ++i, ++n)
{
f = aFormats[ i ];
if ( n )
s += '\t';
- p = buf;
switch( (sal_uInt16)f )
{
case CF_TEXT:
- p = reinterpret_cast<LPCTSTR>(String::CreateFromAscii("TEXT").GetBuffer());
+ s += rtl::OUString("TEXT");
break;
case CF_BITMAP:
- p = reinterpret_cast<LPCTSTR>(String::CreateFromAscii("BITMAP").GetBuffer());
+ s += rtl::OUString("BITMAP");
break;
default:
- GetClipboardFormatName( (UINT)f, buf, sizeof(buf) / sizeof(TCHAR) );
+ {
+ TCHAR buf[128];
+ GetClipboardFormatName( (UINT)f, buf, sizeof(buf) / sizeof(TCHAR) );
+ s += rtl::OUString(buf);
+ }
+ break;
}
- s += String( reinterpret_cast<const sal_Unicode*>(p) );
+
}
- s += String::CreateFromAscii("\r\n");
+ s += rtl::OUString("\r\n");
return s;
}