diff options
author | Caolán McNamara <caolanm@redhat.com> | 2012-07-31 13:27:46 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2012-07-31 16:39:20 +0100 |
commit | 1f77c4320e473a28a7f3a30ea367fbfaa2c44784 (patch) | |
tree | 5dfda401db760e7089beee816a368e9be2db2b31 /svl/source | |
parent | cc5b8609490637e3a19761a965af9fdd47310954 (diff) |
use of a pointer to a temporary strings buffer is very wrong
Change-Id: Id5bee1f5120afb6efb60245a4606a4a15bb6db79
Diffstat (limited to 'svl/source')
-rw-r--r-- | svl/source/svdde/ddesvr.cxx | 20 |
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; } |