[Libreoffice-commits] core.git: Branch 'aoo/trunk' - basegfx/source cli_ure/source comphelper/source connectivity/inc connectivity/source cui/source dbaccess/source desktop/source dtrans/source editeng/source embeddedobj/source extensions/source filter/source forms/source formula/source fpicker/source framework/inc framework/source i18npool/source idlc/source package/source pyuno/source rdbmaker/source registry/source registry/tools reportdesign/source rsc/inc rsc/source sal/inc sax/source scaddins/source sc/source sd/source sfx2/inc sfx2/source svtools/source svx/source sw/source testtools/source toolkit/source tools/source ucb/source unodevtools/source unotools/source unoxml/source vcl/source vcl/unx vos/source writerfilter/source xmloff/source xmlsecurity/source

Herbert Dürr hdu at apache.org
Thu Nov 28 08:08:06 PST 2013


 basegfx/source/tools/debugplotter.cxx                               |    8 -
 cli_ure/source/climaker/climaker_app.cxx                            |    2 
 cli_ure/source/uno_bridge/cli_data.cxx                              |    2 
 comphelper/source/misc/namedvaluecollection.cxx                     |    2 
 connectivity/inc/connectivity/CommonTools.hxx                       |    4 
 connectivity/source/commontools/CommonTools.cxx                     |    2 
 connectivity/source/drivers/adabas/BConnection.cxx                  |    4 
 connectivity/source/drivers/adabas/BDriver.cxx                      |   67 +++++-----
 connectivity/source/drivers/jdbc/Class.cxx                          |    2 
 connectivity/source/drivers/odbcbase/ODatabaseMetaDataResultSet.cxx |   18 +-
 connectivity/source/parse/sqlflex.l                                 |    2 
 connectivity/source/parse/sqlnode.cxx                               |    6 
 cui/source/dialogs/showcols.cxx                                     |    2 
 cui/source/factory/dlgfact.cxx                                      |    4 
 dbaccess/source/core/recovery/dbdocrecovery.cxx                     |    2 
 dbaccess/source/ui/browser/brwctrlr.cxx                             |    4 
 dbaccess/source/ui/browser/exsrcbrw.cxx                             |    2 
 dbaccess/source/ui/misc/TokenWriter.cxx                             |   12 +
 dbaccess/source/ui/misc/UITools.cxx                                 |    2 
 dbaccess/source/ui/querydesign/querycontroller.cxx                  |    2 
 desktop/source/app/app.cxx                                          |   12 -
 desktop/source/app/appfirststart.cxx                                |    2 
 desktop/source/migration/wizard.cxx                                 |    5 
 dtrans/source/cnttype/mcnttype.cxx                                  |    2 
 editeng/source/editeng/impedit2.cxx                                 |    2 
 embeddedobj/source/msole/olepersist.cxx                             |    6 
 extensions/source/bibliography/general.cxx                          |    2 
 extensions/source/config/ldap/ldapaccess.cxx                        |   16 +-
 extensions/source/logging/filehandler.cxx                           |    2 
 extensions/source/propctrlr/pcrcommon.cxx                           |    2 
 extensions/source/update/check/updatecheckconfig.cxx                |    2 
 filter/source/msfilter/eschesdo.hxx                                 |    3 
 filter/source/msfilter/msocximex.cxx                                |    2 
 forms/source/misc/services.cxx                                      |    2 
 formula/source/ui/resource/ModuleHelper.cxx                         |    3 
 fpicker/source/aqua/FilterHelper.cxx                                |    2 
 fpicker/source/unx/gnome/SalGtkFilePicker.cxx                       |   13 -
 fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx             |    4 
 fpicker/source/win32/filepicker/filepickerstate.cxx                 |    2 
 framework/inc/macros/debug/assertion.hxx                            |    2 
 framework/inc/macros/debug/logmechanism.hxx                         |    6 
 framework/source/layoutmanager/toolbarlayoutmanager.cxx             |    2 
 framework/source/services/license.cxx                               |    2 
 framework/source/uielement/controlmenucontroller.cxx                |    2 
 i18npool/source/indexentry/indexentrysupplier_default.cxx           |    2 
 i18npool/source/localedata/saxparser.cxx                            |    2 
 idlc/source/idlccompile.cxx                                         |    6 
 package/source/xstor/owriteablestream.cxx                           |    2 
 pyuno/source/module/pyuno_impl.hxx                                  |    3 
 rdbmaker/source/codemaker/global.cxx                                |    2 
 registry/source/regimpl.cxx                                         |    4 
 registry/tools/checksingleton.cxx                                   |    2 
 reportdesign/source/core/resource/core_resource.cxx                 |    2 
 reportdesign/source/core/sdr/ModuleHelper.cxx                       |    2 
 reportdesign/source/ui/inspection/DefaultInspection.cxx             |    2 
 rsc/inc/rscerror.h                                                  |    4 
 rsc/source/parser/rscdb.cxx                                         |    2 
 sal/inc/osl/profile.hxx                                             |   26 +--
 sal/inc/rtl/locale.hxx                                              |    6 
 sal/inc/rtl/string.hxx                                              |   15 ++
 sal/inc/rtl/ustring.hxx                                             |   12 +
 sax/source/tools/fastserializer.cxx                                 |    2 
 sc/source/filter/excel/xecontent.cxx                                |    2 
 sc/source/filter/excel/xestream.cxx                                 |    2 
 scaddins/source/analysis/analysis.cxx                               |    3 
 scaddins/source/analysis/analysishelper.cxx                         |    2 
 scaddins/source/datefunc/datefunc.cxx                               |    3 
 sd/source/filter/eppt/epptso.cxx                                    |    2 
 sd/source/ui/unoidl/unosrch.cxx                                     |    2 
 sfx2/inc/sfx2/sfxuno.hxx                                            |    5 
 sfx2/source/appl/app.cxx                                            |    3 
 sfx2/source/appl/appdde.cxx                                         |    6 
 sfx2/source/appl/sfxhelp.cxx                                        |    2 
 sfx2/source/appl/shutdownicon.cxx                                   |    6 
 sfx2/source/appl/shutdowniconunx.cxx                                |    8 -
 sfx2/source/bastyp/mieclip.cxx                                      |    2 
 sfx2/source/bastyp/sfxhtml.cxx                                      |    2 
 sfx2/source/control/macro.cxx                                       |    2 
 sfx2/source/control/msg.cxx                                         |    3 
 sfx2/source/control/shell.cxx                                       |    2 
 svtools/source/edit/texteng.cxx                                     |    2 
 svtools/source/table/cellvalueconversion.cxx                        |    2 
 svtools/source/uno/wizard/unowizard.cxx                             |    2 
 svx/source/accessibility/ChildrenManagerImpl.cxx                    |    4 
 svx/source/fmcomp/fmgridcl.cxx                                      |    2 
 svx/source/fmcomp/gridcell.cxx                                      |    4 
 svx/source/form/filtnav.cxx                                         |    2 
 svx/source/form/fmsrcimp.cxx                                        |    4 
 sw/source/core/swg/SwXMLTextBlocks1.cxx                             |    2 
 sw/source/core/unocore/unodraw.cxx                                  |    2 
 sw/source/core/unocore/unoframe.cxx                                 |    2 
 sw/source/core/unocore/unotext.cxx                                  |    2 
 sw/source/filter/ww8/rtfexport.hxx                                  |    3 
 sw/source/filter/ww8/rtfsdrexport.cxx                               |    2 
 sw/source/filter/xml/xmltbli.cxx                                    |    2 
 sw/source/ui/wrtsh/wrtsh1.cxx                                       |    2 
 testtools/source/bridgetest/multi.cxx                               |    2 
 toolkit/source/helper/property.cxx                                  |    4 
 toolkit/source/layout/vcl/wrapper.cxx                               |    4 
 tools/source/fsys/tempfile.cxx                                      |    2 
 ucb/source/ucp/gvfs/gvfs_content.cxx                                |   28 +---
 ucb/source/ucp/gvfs/gvfs_provider.cxx                               |    3 
 ucb/source/ucp/webdav/DAVProperties.cxx                             |   12 -
 ucb/source/ucp/webdav/SerfRequestProcessor.cxx                      |   14 +-
 ucb/source/ucp/webdav/SerfSession.cxx                               |    6 
 unodevtools/source/skeletonmaker/skeletoncommon.hxx                 |    2 
 unotools/source/ucbhelper/tempfile.cxx                              |    2 
 unoxml/source/dom/characterdata.cxx                                 |    8 -
 vcl/source/control/edit.cxx                                         |    2 
 vcl/unx/generic/dtrans/X11_selection.cxx                            |    2 
 vcl/unx/generic/printer/cupsmgr.cxx                                 |    6 
 vcl/unx/generic/printergfx/printerjob.cxx                           |    2 
 vcl/unx/generic/printergfx/psputil.cxx                              |    2 
 vcl/unx/generic/printergfx/psputil.hxx                              |    1 
 vcl/unx/gtk/a11y/atkaction.cxx                                      |    2 
 vcl/unx/gtk/a11y/atkimage.cxx                                       |    2 
 vcl/unx/gtk/a11y/atktable.cxx                                       |    2 
 vcl/unx/gtk/a11y/atkwrapper.cxx                                     |    4 
 vcl/unx/gtk/a11y/atkwrapper.hxx                                     |    2 
 vcl/unx/gtk/app/gtkdata.cxx                                         |    2 
 vcl/unx/gtk/app/gtkinst.cxx                                         |    2 
 vcl/unx/gtk/window/gtkframe.cxx                                     |    4 
 vos/source/module.cxx                                               |    6 
 writerfilter/source/dmapper/PropertyMap.cxx                         |    2 
 xmloff/source/core/DocumentSettingsContext.cxx                      |    2 
 xmloff/source/core/XMLBase64ImportContext.cxx                       |    2 
 xmloff/source/draw/ximpstyl.cxx                                     |    2 
 xmloff/source/text/XMLTextFrameContext.cxx                          |    2 
 xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx     |    2 
 129 files changed, 307 insertions(+), 272 deletions(-)

New commits:
commit 1a15756db5173403fcdbc3ad522c3a76e88a7082
Author: Herbert Dürr <hdu at apache.org>
Date:   Thu Nov 28 15:52:32 2013 +0000

    #i123068# remove implicit conversions from rtl strings to their elements

diff --git a/basegfx/source/tools/debugplotter.cxx b/basegfx/source/tools/debugplotter.cxx
index 640e8cb..0011f7b 100644
--- a/basegfx/source/tools/debugplotter.cxx
+++ b/basegfx/source/tools/debugplotter.cxx
@@ -45,7 +45,7 @@ namespace basegfx
                     "#" << ::std::endl <<
                     "# automatically generated by basegfx, don't change!" << ::std::endl <<
                     "#" << ::std::endl <<
-                    "#   --- " << (const sal_Char*)rTitle << " ---" << ::std::endl <<
+                    "#   --- " << rTitle.getStr() << " ---" << ::std::endl <<
                     "#" << ::std::endl <<
                     "set parametric" << ::std::endl <<
                     "# set terminal postscript eps enhanced color " << ::std::endl <<
@@ -106,7 +106,7 @@ namespace basegfx
                            "pointmarkx(c,t) = c-0.03*t\n",                                       // hack for displaying single points in parametric form
                            "pointmarky(c,t) = c+0.03*t\n",                                       // hack for displaying single points in parametric form
                            "# end of setup\n",
-                           (const sal_Char*)rTitle );
+                           rTitle.getStr() );
             }
         }
 
@@ -276,10 +276,10 @@ namespace basegfx
 
                         if( mpOutputStream )
                             *mpOutputStream << " '-' using ($1):($2) title \"Polygon "
-                                            << (const sal_Char*)maPolygons.at(i).second << "\" with lp";
+                                            << maPolygons.at(i).second.getStr() << "\" with lp";
                         else
                             OSL_TRACE( " '-' using ($1):($2) title \"Polygon %s\" with lp",
-                                       (const sal_Char*)maPolygons.at(i).second );
+                                       maPolygons.at(i).second.getStr() );
 
                         bNeedColon = true;
                     }
diff --git a/cli_ure/source/climaker/climaker_app.cxx b/cli_ure/source/climaker/climaker_app.cxx
index 3f444d5..3ceda3f 100644
--- a/cli_ure/source/climaker/climaker_app.cxx
+++ b/cli_ure/source/climaker/climaker_app.cxx
@@ -567,7 +567,7 @@ SAL_IMPLEMENT_MAIN()
         // setup assembly info: xxx todo set more? e.g. avoid strong versioning
         AssemblyName * assembly_name = new AssemblyName();
         assembly_name->set_CodeBase( output_dir );
-        assembly_name->set_Name( name );
+        assembly_name->set_Name( name.getStr() );
         if (kp != NULL)
             assembly_name->set_KeyPair(kp);
 
diff --git a/cli_ure/source/uno_bridge/cli_data.cxx b/cli_ure/source/uno_bridge/cli_data.cxx
index a1416e3..61295a0 100644
--- a/cli_ure/source/uno_bridge/cli_data.cxx
+++ b/cli_ure/source/uno_bridge/cli_data.cxx
@@ -598,7 +598,7 @@ System::String* mapPolymorphicName(System::String* unoName, bool bCliToUno)
             index = cur;
             if (bCliToUno)
             {
-                builder->Append(mapCliTypeName(sParam));
+                builder->Append( mapCliTypeName(sParam).getStr());
             }
             else
             {
diff --git a/comphelper/source/misc/namedvaluecollection.cxx b/comphelper/source/misc/namedvaluecollection.cxx
index 1028f2a..39f9ab2 100644
--- a/comphelper/source/misc/namedvaluecollection.cxx
+++ b/comphelper/source/misc/namedvaluecollection.cxx
@@ -222,7 +222,7 @@ namespace comphelper
                 ::rtl::OStringBuffer message;
                 message.append( "NamedValueCollection::impl_assign: encountered a value type which I cannot handle:\n" );
                 message.append( ::rtl::OUStringToOString( pArgument->getValueTypeName(), RTL_TEXTENCODING_ASCII_US ) );
-                OSL_ENSURE( false, message.makeStringAndClear() );
+                OSL_ENSURE( false, message.getStr() );
             }
 #endif
         }
diff --git a/connectivity/inc/connectivity/CommonTools.hxx b/connectivity/inc/connectivity/CommonTools.hxx
index 75e2967..749646c 100644
--- a/connectivity/inc/connectivity/CommonTools.hxx
+++ b/connectivity/inc/connectivity/CommonTools.hxx
@@ -49,6 +49,10 @@ namespace connectivity
 {
     //------------------------------------------------------------------------------
     OOO_DLLPUBLIC_DBTOOLS sal_Bool match(const sal_Unicode* pWild, const sal_Unicode* pStr, const sal_Unicode cEscape);
+    inline sal_Bool match( const rtl::OUString& rWild, const sal_Unicode* pStr, sal_Unicode cEscape)
+        { return match( rWild.getStr(), pStr, cEscape); }
+    inline sal_Bool match( const rtl::OUString& rWild, const rtl::OUString& rStr, sal_Unicode cEscape)
+        { return match( rWild, rStr.getStr(), cEscape); }
     //------------------------------------------------------------------------------
     OOO_DLLPUBLIC_DBTOOLS rtl::OUString toString(const ::com::sun::star::uno::Any& rValue);
     OOO_DLLPUBLIC_DBTOOLS rtl::OUString toDateString(const ::com::sun::star::util::Date& rDate);
diff --git a/connectivity/source/commontools/CommonTools.cxx b/connectivity/source/commontools/CommonTools.cxx
index d3e65f7..63253d5 100644
--- a/connectivity/source/commontools/CommonTools.cxx
+++ b/connectivity/source/commontools/CommonTools.cxx
@@ -280,7 +280,7 @@ namespace connectivity
             {
                 ::rtl::OString sClassName = ::rtl::OUStringToOString(_sClassName, RTL_TEXTENCODING_ASCII_US);
                 sClassName = sClassName.replace('.','/');
-                jobject out = pEnv->FindClass(sClassName);
+                jobject out = pEnv->FindClass( sClassName.getStr());
                 bRet = out != NULL;
                 pEnv->DeleteLocalRef( out );
             }
diff --git a/connectivity/source/drivers/adabas/BConnection.cxx b/connectivity/source/drivers/adabas/BConnection.cxx
index 7bc32c9..c1ced8d 100644
--- a/connectivity/source/drivers/adabas/BConnection.cxx
+++ b/connectivity/source/drivers/adabas/BConnection.cxx
@@ -108,8 +108,8 @@ SQLRETURN OAdabasConnection::Construct( const ::rtl::OUString& url,const Sequenc
     }
     m_sUser = aUID;
 
-    if ( sHostName.getLength() )
-        aDSN = sHostName + ':' + aDSN;
+    if( !sHostName.isEmpty() )
+        aDSN = sHostName + ::rtl::OUString::createFromAscii(":") + aDSN;
     SQLRETURN nSQLRETURN = openConnectionWithAuth(aDSN,nTimeout, aUID,aPWD);
 
     return nSQLRETURN;
diff --git a/connectivity/source/drivers/adabas/BDriver.cxx b/connectivity/source/drivers/adabas/BDriver.cxx
index ad2dd12..985a464 100644
--- a/connectivity/source/drivers/adabas/BDriver.cxx
+++ b/connectivity/source/drivers/adabas/BDriver.cxx
@@ -44,6 +44,9 @@
 #include <memory>
 #include <sys/stat.h>
 
+inline SvStream& operator<<( SvStream& s, const rtl::OString r) { return (s << r.getStr()); }
+inline SvStream& operator<<( SvStream& s, const rtl::OUString r) { return (s << ::rtl::OUStringToOString(r,gsl_getSystemTextEncoding())); }
+
 #if defined(UNX)
 const char sNewLine = '\012';
 #else
@@ -959,7 +962,7 @@ void ODriver::createDb( const TDatabaseStruct& _aInfo)
         {
             ::std::auto_ptr<SvStream> pFileStream( UcbStreamHelper::CreateStream(aInitFile.GetURL(),STREAM_WRITE) );
             (*pFileStream)  << "ALTER USER \""
-                            << ::rtl::OString(_aInfo.sSysUser,_aInfo.sSysUser.getLength(),gsl_getSystemTextEncoding())
+                            << _aInfo.sSysUser
                             << "\" NOT EXCLUSIVE "
                             << sNewLine;
             pFileStream->Flush();
@@ -989,13 +992,13 @@ int ODriver::X_PARAM(const ::rtl::OUString& _DBNAME,
                         << ".exe"
 #endif
                         << " -d "
-                        << ::rtl::OString(_DBNAME,_DBNAME.getLength(),gsl_getSystemTextEncoding())
+                        << _DBNAME
                         << " -u "
-                        << ::rtl::OString(_USR,_USR.getLength(),gsl_getSystemTextEncoding())
+                        << _USR
                         << ","
-                        << ::rtl::OString(_PWD,_PWD.getLength(),gsl_getSystemTextEncoding())
+                        << _PWD
                         << " "
-                        << ::rtl::OString(_CMD,_CMD.getLength(),gsl_getSystemTextEncoding())
+                        << _CMD
 #if defined(WNT)
 #if (OSL_DEBUG_LEVEL > 1) || defined(DBG_UTIL)
                         << " >> %DBWORK%\\create.log 2>&1"
@@ -1197,15 +1200,15 @@ void ODriver::XUTIL(const ::rtl::OUString& _rParam,
                             "utility"
 #endif
                         << " -u "
-                        << ::rtl::OString(_USRNAME,_USRNAME.getLength(),gsl_getSystemTextEncoding())
+                        << _USRNAME
                         << ","
-                        << ::rtl::OString(_USRPWD,_USRPWD.getLength(),gsl_getSystemTextEncoding())
+                        << _USRPWD
                         << " -d "
-                        << ::rtl::OString(_DBNAME,_DBNAME.getLength(),gsl_getSystemTextEncoding())
+                        << _DBNAME
                         << " "
-                        << ::rtl::OString(_rParam,_rParam.getLength(),gsl_getSystemTextEncoding())
+                        << _rParam
                         << " > "
-                        << ::rtl::OString(sPhysicalPath.GetBuffer(),sPhysicalPath.Len(),gsl_getSystemTextEncoding())
+                        << sPhysicalPath
                         << " 2>&1"
                         << sNewLine;
         pFileStream->Flush();
@@ -1248,20 +1251,20 @@ void ODriver::LoadBatch(const ::rtl::OUString& sDBName,
                         << ".exe"
 #endif
                         << " -d "
-                        << ::rtl::OString(sDBName,sDBName.getLength(),gsl_getSystemTextEncoding())
+                        << sDBName
                         << " -u "
-                        << ::rtl::OString(_rUSR,_rUSR.getLength(),gsl_getSystemTextEncoding())
+                        << _rUSR
                         << ","
-                        << ::rtl::OString(_rPWD,_rPWD.getLength(),gsl_getSystemTextEncoding());
+                        << _rPWD;
 
         if ( !isKernelVersion(CURRENT_DB_VERSION) )
             (*pFileStream) << " -S adabas -b ";
         else
             (*pFileStream) << " -S NATIVE -b ";
 
-        (*pFileStream)  << ::rtl::OString(_rBatch,_rBatch.getLength(),gsl_getSystemTextEncoding())
+        (*pFileStream)  << _rBatch
                         << " > "
-                        << ::rtl::OString(sPhysicalPath.GetBuffer(),sPhysicalPath.Len(),gsl_getSystemTextEncoding())
+                        << sPhysicalPath
                         << " 2>&1"
                         << sNewLine;
 
@@ -1378,7 +1381,7 @@ void ODriver::fillEnvironmentVariables()
         {
             String sTemp;
             LocalFileHelper::ConvertURLToPhysicalName(_aDBInfo.sSysDevSpace,sTemp);
-            (*pFileStream) << ::rtl::OString(sTemp.GetBuffer(),sTemp.Len(),gsl_getSystemTextEncoding());
+            (*pFileStream) << sTemp;
         }
         (*pFileStream) << "\n* log devspace size:\n";
         (*pFileStream) << ::rtl::OString::valueOf(_aDBInfo.nLogSize);
@@ -1386,7 +1389,7 @@ void ODriver::fillEnvironmentVariables()
         {
             String sTemp;
             LocalFileHelper::ConvertURLToPhysicalName(_aDBInfo.sTransLogName,sTemp);
-            (*pFileStream) << ::rtl::OString(sTemp.GetBuffer(),sTemp.Len(),gsl_getSystemTextEncoding());
+            (*pFileStream) << sTemp;
         }
         (*pFileStream) << "\n* data devspace size:\n";
         (*pFileStream) << ::rtl::OString::valueOf(_aDBInfo.nDataSize);
@@ -1394,7 +1397,7 @@ void ODriver::fillEnvironmentVariables()
         {
             String sTemp;
             LocalFileHelper::ConvertURLToPhysicalName(_aDBInfo.sDataDevName,sTemp);
-            (*pFileStream) << ::rtl::OString(sTemp.GetBuffer(),sTemp.Len(),gsl_getSystemTextEncoding());
+            (*pFileStream) << sTemp;
         }
 
         (*pFileStream) << "\n* END INIT CONFIG\n";
@@ -1405,7 +1408,7 @@ void ODriver::fillEnvironmentVariables()
             {
                 String sTemp;
                 LocalFileHelper::ConvertURLToPhysicalName(_aDBInfo.sBackupFile,sTemp);
-                (*pFileStream) << ::rtl::OString(sTemp.GetBuffer(),sTemp.Len(),gsl_getSystemTextEncoding());
+                (*pFileStream) << sTemp;
             }
             (*pFileStream) << "' BLOCKSIZE 8\n";
             (*pFileStream) << "if $rc <> 0 then stop\n";
@@ -1415,9 +1418,9 @@ void ODriver::fillEnvironmentVariables()
         else
         {
             (*pFileStream) << "ACTIVATE SERVERDB SYSDBA \"";
-            (*pFileStream) << ::rtl::OString(_aDBInfo.sSysUser,_aDBInfo.sSysUser.getLength(),gsl_getSystemTextEncoding());
+            (*pFileStream) << _aDBInfo.sSysUser;
             (*pFileStream) << "\" PASSWORD \"";
-            (*pFileStream) << ::rtl::OString(_aDBInfo.sSysPassword,_aDBInfo.sSysPassword.getLength(),gsl_getSystemTextEncoding());
+            (*pFileStream) << _aDBInfo.sSysPassword;
             (*pFileStream) << "\"\n";
         }
         (*pFileStream) << "if $rc <> 0 then stop\n";
@@ -1441,11 +1444,11 @@ void ODriver::X_CONS(const ::rtl::OUString& sDBName,const ::rtl::OString& _ACTIO
                         << ".exe"
 #endif
                         << " "
-                        << ::rtl::OString(sDBName,sDBName.getLength(),gsl_getSystemTextEncoding())
+                        << sDBName
                         << " SHOW "
                         << _ACTION
                         << " > "
-                        << ::rtl::OString(sPhysicalPath.GetBuffer(),sPhysicalPath.Len(),gsl_getSystemTextEncoding())
+                        << sPhysicalPath
                         << sNewLine;
         pFileStream->Flush();
     }
@@ -1524,9 +1527,9 @@ sal_Bool ODriver::isVersion(const ::rtl::OUString& sDBName, const char* _pVersio
                         << ".exe"
 #endif
                         << " "
-                        << ::rtl::OString(sDBName,sDBName.getLength(),gsl_getSystemTextEncoding())
+                        << sDBName
                         << " KERNELVERSION > "
-                        << ::rtl::OString(sPhysicalPath.GetBuffer(),sPhysicalPath.Len(),gsl_getSystemTextEncoding())
+                        << sPhysicalPath
                         << sNewLine;
     }
 
@@ -1574,9 +1577,9 @@ void ODriver::checkAndInsertNewDevSpace(const ::rtl::OUString& sDBName,
                         << ".exe"
 #endif
                         << " "
-                        << ::rtl::OString(sDBName,sDBName.getLength(),gsl_getSystemTextEncoding())
+                        << sDBName
                         << " DATA_CACHE_PAGES > "
-                        << ::rtl::OString(sPhysicalPath.GetBuffer(),sPhysicalPath.Len(),gsl_getSystemTextEncoding())
+                        << sPhysicalPath
                         << sNewLine;
     }
 
@@ -1621,7 +1624,7 @@ sal_Bool ODriver::isKernelVersion(const char* _pVersion)
 
         (*pFileStream)  << "dbversion"
                         << " > "
-                        << ::rtl::OString(sPhysicalPath.GetBuffer(),sPhysicalPath.Len(),gsl_getSystemTextEncoding())
+                        << sPhysicalPath
                         << sNewLine;
     }
 
@@ -1731,13 +1734,13 @@ void ODriver::installSystemTables(  const TDatabaseStruct& _aInfo)
         pFileStream->Seek(STREAM_SEEK_TO_END);
         (*pFileStream)  << "x_dbinst"
                         << " -d "
-                        << ::rtl::OString(_aInfo.sDBName,_aInfo.sDBName.getLength(),gsl_getSystemTextEncoding())
+                        << _aInfo.sDBName
                         << " -u "
-                        << ::rtl::OString(_aInfo.sSysUser,_aInfo.sSysUser.getLength(),gsl_getSystemTextEncoding())
+                        << _aInfo.sSysUser
                         << ","
-                        << ::rtl::OString(_aInfo.sSysPassword,_aInfo.sSysPassword.getLength(),gsl_getSystemTextEncoding())
+                        << _aInfo.sSysPassword
                         << " -w "
-                        << ::rtl::OString(_aInfo.sDomainPassword,_aInfo.sDomainPassword.getLength(),gsl_getSystemTextEncoding())
+                        << _aInfo.sDomainPassword
                         << " -b ";
 
         if ( isKernelVersion(ADABAS_KERNEL_11) )
diff --git a/connectivity/source/drivers/jdbc/Class.cxx b/connectivity/source/drivers/jdbc/Class.cxx
index 7f2705a..36b222a 100644
--- a/connectivity/source/drivers/jdbc/Class.cxx
+++ b/connectivity/source/drivers/jdbc/Class.cxx
@@ -53,7 +53,7 @@ java_lang_Class * java_lang_Class::forName( const ::rtl::OUString& _par0 )
     {
         ::rtl::OString sClassName = ::rtl::OUStringToOString(_par0, RTL_TEXTENCODING_JAVA_UTF8);
         sClassName = sClassName.replace('.','/');
-        out = t.pEnv->FindClass(sClassName);
+        out = t.pEnv->FindClass( sClassName.getStr());
         ThrowSQLException(t.pEnv,0);
     } //t.pEnv
     // ACHTUNG: der Aufrufer wird Eigentuemer des zurueckgelieferten Zeigers !!!
diff --git a/connectivity/source/drivers/odbcbase/ODatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/odbcbase/ODatabaseMetaDataResultSet.cxx
index a7b7f1e..f4d397f 100644
--- a/connectivity/source/drivers/odbcbase/ODatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/odbcbase/ODatabaseMetaDataResultSet.cxx
@@ -879,7 +879,7 @@ void ODatabaseMetaDataResultSet::openTables(const Any& catalog, const ::rtl::OUS
 
     const char  *pPKQ = catalog.hasValue() && aPKQ.getLength() ? aPKQ.getStr()  : NULL,
                 *pPKO = pSchemaPat && pSchemaPat->getLength() ? aPKO.getStr() : NULL,
-                *pPKN = aPKN = ::rtl::OUStringToOString(tableNamePattern,m_nTextEncoding).getStr();
+                *pPKN = (aPKN = ::rtl::OUStringToOString(tableNamePattern,m_nTextEncoding)).getStr();
 
 
     const char  *pCOL = NULL;
@@ -981,8 +981,8 @@ void ODatabaseMetaDataResultSet::openColumnPrivileges(  const Any& catalog, cons
 
     const char  *pPKQ = catalog.hasValue() && aPKQ.getLength() ? aPKQ.getStr()  : NULL,
                 *pPKO = pSchemaPat && pSchemaPat->getLength() ? aPKO.getStr() : NULL,
-                *pPKN = aPKN = ::rtl::OUStringToOString(table,m_nTextEncoding).getStr(),
-                *pCOL = aCOL = ::rtl::OUStringToOString(columnNamePattern,m_nTextEncoding).getStr();
+                *pPKN = (aPKN = ::rtl::OUStringToOString(table,m_nTextEncoding)).getStr(),
+                *pCOL = (aCOL = ::rtl::OUStringToOString(columnNamePattern,m_nTextEncoding)).getStr();
 
 
     SQLRETURN nRetcode = N3SQLColumnPrivileges(m_aStatementHandle,
@@ -1014,8 +1014,8 @@ void ODatabaseMetaDataResultSet::openColumns(   const Any& catalog,
 
     const char  *pPKQ = catalog.hasValue() && aPKQ.getLength() ? aPKQ.getStr()  : NULL,
                 *pPKO = pSchemaPat && pSchemaPat->getLength() && pSchemaPat->getLength() ? aPKO.getStr() : NULL,
-                *pPKN = aPKN = ::rtl::OUStringToOString(tableNamePattern,m_nTextEncoding).getStr(),
-                *pCOL = aCOL = ::rtl::OUStringToOString(columnNamePattern,m_nTextEncoding).getStr();
+                *pPKN = (aPKN = ::rtl::OUStringToOString(tableNamePattern,m_nTextEncoding)).getStr(),
+                *pCOL = (aCOL = ::rtl::OUStringToOString(columnNamePattern,m_nTextEncoding)).getStr();
 
 
     SQLRETURN nRetcode = N3SQLColumns(m_aStatementHandle,
@@ -1081,8 +1081,8 @@ void ODatabaseMetaDataResultSet::openProcedureColumns(  const Any& catalog,
 
     const char  *pPKQ = catalog.hasValue() && aPKQ.getLength() ? aPKQ.getStr()  : NULL,
                 *pPKO = pSchemaPat && pSchemaPat->getLength() ? aPKO.getStr() : NULL,
-                *pPKN = aPKN = ::rtl::OUStringToOString(procedureNamePattern,m_nTextEncoding).getStr(),
-                *pCOL = aCOL = ::rtl::OUStringToOString(columnNamePattern,m_nTextEncoding).getStr();
+                *pPKN = (aPKN = ::rtl::OUStringToOString(procedureNamePattern,m_nTextEncoding)).getStr(),
+                *pCOL = (aCOL = ::rtl::OUStringToOString(columnNamePattern,m_nTextEncoding)).getStr();
 
 
     SQLRETURN nRetcode = N3SQLProcedureColumns(m_aStatementHandle,
@@ -1115,7 +1115,7 @@ void ODatabaseMetaDataResultSet::openProcedures(const Any& catalog, const ::rtl:
 
     const char  *pPKQ = catalog.hasValue() && aPKQ.getLength() ? aPKQ.getStr()  : NULL,
                 *pPKO = pSchemaPat && pSchemaPat->getLength() ? aPKO.getStr() : NULL,
-                *pPKN = aPKN = ::rtl::OUStringToOString(procedureNamePattern,m_nTextEncoding).getStr();
+                *pPKN = (aPKN = ::rtl::OUStringToOString(procedureNamePattern,m_nTextEncoding)).getStr();
 
 
     SQLRETURN nRetcode = N3SQLProcedures(m_aStatementHandle,
@@ -1145,7 +1145,7 @@ void ODatabaseMetaDataResultSet::openSpecialColumns(sal_Bool _bRowVer,const Any&
 
     const char  *pPKQ = catalog.hasValue() && aPKQ.getLength() ? aPKQ.getStr()  : NULL,
                 *pPKO = pSchemaPat && pSchemaPat->getLength() ? aPKO.getStr() : NULL,
-                *pPKN = aPKN = ::rtl::OUStringToOString(table,m_nTextEncoding).getStr();
+                *pPKN = (aPKN = ::rtl::OUStringToOString(table,m_nTextEncoding)).getStr();
 
 
     SQLRETURN nRetcode = N3SQLSpecialColumns(m_aStatementHandle,_bRowVer ? SQL_ROWVER : SQL_BEST_ROWID,
diff --git a/connectivity/source/parse/sqlflex.l b/connectivity/source/parse/sqlflex.l
index 042084c..304a4e1 100644
--- a/connectivity/source/parse/sqlflex.l
+++ b/connectivity/source/parse/sqlflex.l
@@ -784,7 +784,7 @@ void OSQLScanner::prepareScan(const ::rtl::OUString & rNewStatement, const IPars
 	BEGIN(m_nRule);
 
 	m_sErrorMessage = ::rtl::OUString();	
-	m_sStatement	= ::rtl::OString(rNewStatement,rNewStatement.getLength(), RTL_TEXTENCODING_UTF8);
+	m_sStatement	= ::rtl::OUStringToOString( rNewStatement, RTL_TEXTENCODING_UTF8);
 	m_nCurrentPos	= 0;
 	m_bInternational = bInternational;
 	m_pContext		= pContext;
diff --git a/connectivity/source/parse/sqlnode.cxx b/connectivity/source/parse/sqlnode.cxx
index a971cbc..6306fcb 100644
--- a/connectivity/source/parse/sqlnode.cxx
+++ b/connectivity/source/parse/sqlnode.cxx
@@ -1576,7 +1576,7 @@ OSQLParseNode::OSQLParseNode(const ::rtl::OString &_rNewValue,
                              SQLNodeType eNewNodeType,
                              sal_uInt32 nNewNodeID)
         :m_pParent(NULL)
-        ,m_aNodeValue(_rNewValue,_rNewValue.getLength(),RTL_TEXTENCODING_UTF8)
+        ,m_aNodeValue( rtl::OStringToOUString( _rNewValue, RTL_TEXTENCODING_UTF8))
         ,m_eNodeType(eNewNodeType)
         ,m_nNodeID(nNewNodeID)
 {
@@ -2465,7 +2465,7 @@ void OSQLParseNode::parseLeaf(::rtl::OUStringBuffer& rString, const SQLParseNode
                 rString.appendAscii(" ");
 
             const ::rtl::OString sT = OSQLParser::TokenIDToStr(m_nNodeID, rParam.bInternational ? &rParam.m_rContext :  NULL);
-            rString.append(::rtl::OUString(sT,sT.getLength(),RTL_TEXTENCODING_UTF8));
+            rString.append( ::rtl::OStringToOUString( sT, RTL_TEXTENCODING_UTF8));
         }   break;
         case SQL_NODE_STRING:
             if (rString.getLength())
@@ -2550,7 +2550,7 @@ void OSQLParseNode::parseLeaf(::rtl::OUStringBuffer& rString, const SQLParseNode
 sal_Int32 OSQLParser::getFunctionReturnType(const ::rtl::OUString& _sFunctionName, const IParseContext* pContext)
 {
     sal_Int32 nType = DataType::VARCHAR;
-    ::rtl::OString sFunctionName(_sFunctionName,_sFunctionName.getLength(),RTL_TEXTENCODING_UTF8);
+    ::rtl::OString sFunctionName( rtl::OUStringToOString( _sFunctionName, RTL_TEXTENCODING_UTF8));
 
     if(sFunctionName.equalsIgnoreAsciiCase(TokenIDToStr(SQL_TOKEN_ASCII,pContext)))                     nType = DataType::INTEGER;
     else if(sFunctionName.equalsIgnoreAsciiCase(TokenIDToStr(SQL_TOKEN_BIT_LENGTH,pContext)))           nType = DataType::INTEGER;
diff --git a/cui/source/dialogs/showcols.cxx b/cui/source/dialogs/showcols.cxx
index 9e3657f..dd34aba 100644
--- a/cui/source/dialogs/showcols.cxx
+++ b/cui/source/dialogs/showcols.cxx
@@ -119,7 +119,7 @@ void FmShowColsDialog::SetColumns(const ::com::sun::star::uno::Reference< ::com:
             //CHINA001 xCurCol->getPropertyValue(::svxform::FM_PROP_LABEL) >>= sName;
 
             xCurCol->getPropertyValue(CUIFM_PROP_LABEL) >>= sName;
-            sCurName = (const sal_Unicode*)sName;
+            sCurName = sName.getStr();
         }
         catch(...)
         {
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index b7402d3..f38fadb 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -1900,7 +1900,7 @@ SfxAbstractInsertObjectDialog* AbstractDialogFactory_Impl::CreateInsertObjectDia
 
     if ( pDlg )
     {
-        pDlg->SetHelpId( rtl::OString( rCommand, rCommand.getLength(), RTL_TEXTENCODING_UTF8 ) );
+        pDlg->SetHelpId( rtl::OUStringToOString( rCommand, RTL_TEXTENCODING_UTF8 ) );
         return new AbstractInsertObjectDialog_Impl( pDlg );
     }
     return 0;
@@ -1913,7 +1913,7 @@ VclAbstractDialog* AbstractDialogFactory_Impl::CreateEditObjectDialog( Window* p
     if ( rCommand.equalsAscii(".uno:InsertObjectFloatingFrame" ) )
     {
         pDlg = new SfxInsertFloatingFrameDialog( pParent, xObj );
-        pDlg->SetHelpId( rtl::OString( rCommand, rCommand.getLength(), RTL_TEXTENCODING_UTF8 ) );
+        pDlg->SetHelpId( rtl::OUStringToOString( rCommand, RTL_TEXTENCODING_UTF8 ) );
         return new VclAbstractDialog_Impl( pDlg );
     }
     return 0;
diff --git a/dbaccess/source/core/recovery/dbdocrecovery.cxx b/dbaccess/source/core/recovery/dbdocrecovery.cxx
index c1474cb..5bc5d66 100644
--- a/dbaccess/source/core/recovery/dbdocrecovery.cxx
+++ b/dbaccess/source/core/recovery/dbdocrecovery.cxx
@@ -394,7 +394,7 @@ namespace dbaccess
                     message.append( "' not found in '" );
                     message.append( ::rtl::OUStringToOString( SubComponentRecovery::getComponentsStorageName( eComponentType ), RTL_TEXTENCODING_ASCII_US ) );
                     message.append( "', but required per map file!" );
-                    OSL_ENSURE( false, message.makeStringAndClear() );
+                    OSL_ENSURE( false, message.getStr() );
                 #endif
                     continue;
                 }
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index 523e349..525b945 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -2013,7 +2013,7 @@ void SbaXDataBrowserController::ExecuteSearch()
     Reference< XInterface >  xCurControl(xColControls->getByIndex(nViewCol),UNO_QUERY);
     ::rtl::OUString aInitialText;
     if (IsSearchableControl(xCurControl, &aInitialText))
-        sInitialText = (const sal_Unicode*)aInitialText;
+        sInitialText = aInitialText.getStr();
 
     // prohibit the synchronization of the grid's display with the cursor's position
     Reference< XPropertySet >  xModelSet(getControlModel(), UNO_QUERY);
@@ -2569,7 +2569,7 @@ IMPL_LINK(SbaXDataBrowserController, OnSearchContextRequest, FmSearchContext*, p
         Reference< XPropertySet >  xCurrentColModel(xModelColumns->getByIndex(nModelPos),UNO_QUERY);
         ::rtl::OUString aName = ::comphelper::getString(xCurrentColModel->getPropertyValue(PROPERTY_CONTROLSOURCE));
 
-        sFieldList += (const sal_Unicode*)aName;
+        sFieldList += aName.getStr();
         sFieldList += ';';
 
         pContext->arrFields.push_back(xCurrentColumn);
diff --git a/dbaccess/source/ui/browser/exsrcbrw.cxx b/dbaccess/source/ui/browser/exsrcbrw.cxx
index 4beab7d..bceb0b4 100644
--- a/dbaccess/source/ui/browser/exsrcbrw.cxx
+++ b/dbaccess/source/ui/browser/exsrcbrw.cxx
@@ -202,7 +202,7 @@ void SAL_CALL SbaExternalSourceBrowser::dispatch(const ::com::sun::star::util::U
                     aControlProps = *(Sequence< ::com::sun::star::beans::PropertyValue>*)pArguments->Value.getValue();
             }
             else
-                OSL_ENSURE(sal_False, ((ByteString("SbaExternalSourceBrowser::dispatch(AddGridColumn) : unknown argument (") += ByteString((const sal_Unicode*)pArguments->Name, gsl_getSystemTextEncoding()).GetBuffer()) += ") !").GetBuffer());
+                OSL_ENSURE(sal_False, ((ByteString("SbaExternalSourceBrowser::dispatch(AddGridColumn) : unknown argument (") += ByteString(pArguments->Name.getStr(), gsl_getSystemTextEncoding()).GetBuffer()) += ") !").GetBuffer());
         }
         if (!sControlType.getLength())
         {
diff --git a/dbaccess/source/ui/misc/TokenWriter.cxx b/dbaccess/source/ui/misc/TokenWriter.cxx
index f9840d7..5a37953 100644
--- a/dbaccess/source/ui/misc/TokenWriter.cxx
+++ b/dbaccess/source/ui/misc/TokenWriter.cxx
@@ -76,6 +76,8 @@ using namespace ::com::sun::star::awt;
 using namespace ::com::sun::star::util;
 using ::com::sun::star::frame::XModel;
 
+inline SvStream& operator<<( SvStream& s, const rtl::OString r) { return (s << r.getStr()); }
+
 #if defined(UNX)
 const char __FAR_DATA ODatabaseImportExport::sNewLine = '\012';
 #else
@@ -819,7 +821,7 @@ void OHTMLImportExport::WriteBody()
     IncIndent(1); TAG_ON_LF( OOO_STRING_SVTOOLS_HTML_style );
 
     (*m_pStream) << sMyBegComment; OUT_LF();
-    (*m_pStream) << OOO_STRING_SVTOOLS_HTML_body << " { " << sFontFamily << '\"' << ::rtl::OString(m_aFont.Name,m_aFont.Name.getLength(), gsl_getSystemTextEncoding()) << '\"';
+    (*m_pStream) << OOO_STRING_SVTOOLS_HTML_body << " { " << sFontFamily << '\"' << ::rtl::OUStringToOString( m_aFont.Name, gsl_getSystemTextEncoding()) << '\"';
         // TODO : think about the encoding of the font name
     (*m_pStream) << "; " << sFontSize;
     m_pStream->WriteNumber(m_aFont.Height);
@@ -895,14 +897,14 @@ void OHTMLImportExport::WriteTables()
     aStrOut = aStrOut + "=1";
 
     IncIndent(1);
-    TAG_ON( aStrOut );
+    TAG_ON( aStrOut.getStr() );
 
     FontOn();
 
     TAG_ON( OOO_STRING_SVTOOLS_HTML_caption );
     TAG_ON( OOO_STRING_SVTOOLS_HTML_bold );
 
-    (*m_pStream)    << ::rtl::OString(m_sName,m_sName.getLength(), gsl_getSystemTextEncoding());
+    (*m_pStream)    << ::rtl::OUStringToOString( m_sName, gsl_getSystemTextEncoding());
         // TODO : think about the encoding of the name
     TAG_OFF( OOO_STRING_SVTOOLS_HTML_bold );
     TAG_OFF( OOO_STRING_SVTOOLS_HTML_caption );
@@ -1072,7 +1074,7 @@ void OHTMLImportExport::WriteCell( sal_Int32 nFormat,sal_Int32 nWidthPixel,sal_I
         }
     }
 
-    TAG_ON( aStrTD );
+    TAG_ON( aStrTD.getStr() );
 
     FontOn();
 
@@ -1116,7 +1118,7 @@ void OHTMLImportExport::FontOn()
     aStrOut  = aStrOut + OOO_STRING_SVTOOLS_HTML_O_face;
     aStrOut  = aStrOut + "=";
     aStrOut  = aStrOut + "\"";
-    aStrOut  = aStrOut + ::rtl::OString(m_aFont.Name,m_aFont.Name.getLength(),gsl_getSystemTextEncoding());
+    aStrOut  = aStrOut + ::rtl::OUStringToOString( m_aFont.Name, gsl_getSystemTextEncoding());
         // TODO : think about the encoding of the font name
     aStrOut  = aStrOut + "\"";
     aStrOut  = aStrOut + " ";
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index 3d7ef9b..2c0ac6d 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -1500,7 +1500,7 @@ namespace
     aURL.Complete = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.help://" ) );
     aURL.Complete += _sModuleName;
     aURL.Complete += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
-    aURL.Complete += ::rtl::OUString(sHelpId, sHelpId.getLength(), RTL_TEXTENCODING_UTF8);
+    aURL.Complete += ::rtl::OStringToOUString( sHelpId, RTL_TEXTENCODING_UTF8);
 
     ::rtl::OUString sAnchor;
     ::rtl::OUString sTempURL = aURL.Complete;
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index d93769d4..a14e395 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -178,7 +178,7 @@ namespace dbaui
                     {
                         rString+= ::rtl::OUString::createFromAscii("SQL_KEYWORD:");
                         ::rtl::OString sT = OSQLParser::TokenIDToStr(_pNode->getTokenID());
-                        rString += ::rtl::OUString(sT,sT.getLength(),RTL_TEXTENCODING_UTF8);
+                        rString += ::rtl::OStringToOUString( sT, RTL_TEXTENCODING_UTF8);
                      break;}
 
                 case SQL_NODE_COMPARISON:
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 17ccb9f..b8fb316 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -253,12 +253,12 @@ ResMgr* Desktop::GetDesktopResManager()
 {
     if ( !Desktop::pResMgr )
     {
-        String aMgrName = String::CreateFromAscii( "dkt" );
+        const char* pMgrName = "dkt";
 
         // Create desktop resource manager and bootstrap process
         // was successful. Use default way to get language specific message.
         if ( Application::IsInExecute() )
-            Desktop::pResMgr = ResMgr::CreateResMgr( U2S( aMgrName ));
+            Desktop::pResMgr = ResMgr::CreateResMgr( pMgrName);
 
         if ( !Desktop::pResMgr )
         {
@@ -268,7 +268,7 @@ ResMgr* Desktop::GetDesktopResManager()
 /*
             LanguageType aLanguageType = LANGUAGE_DONTKNOW;
 
-            Desktop::pResMgr = ResMgr::SearchCreateResMgr( U2S( aMgrName ), aLanguageType );
+            Desktop::pResMgr = ResMgr::SearchCreateResMgr( pMgrName, aLanguageType );
             AllSettings as = GetSettings();
             as.SetUILanguage(aLanguageType);
             SetSettings(as);
@@ -282,7 +282,7 @@ ResMgr* Desktop::GetDesktopResManager()
 
             ::com::sun::star::lang::Locale aLocale( aLanguage, aCountry, aVariant );
 
-            Desktop::pResMgr = ResMgr::SearchCreateResMgr( U2S( aMgrName ), aLocale);
+            Desktop::pResMgr = ResMgr::SearchCreateResMgr( pMgrName, aLocale);
             AllSettings as = GetSettings();
             as.SetUILocale(aLocale);
             SetSettings(as);
@@ -1941,8 +1941,8 @@ void Desktop::Main()
         // create title string
         sal_Bool bCheckOk = sal_False;
         ::com::sun::star::lang::Locale aLocale;
-        String aMgrName = String::CreateFromAscii( "ofa" );
-        ResMgr* pLabelResMgr = ResMgr::SearchCreateResMgr( U2S( aMgrName ), aLocale );
+        const char* pMgrName = "ofa";
+    ResMgr* pLabelResMgr = ResMgr::SearchCreateResMgr( pMgrName, aLocale );
         String aTitle = pLabelResMgr ? String( ResId( RID_APPTITLE, *pLabelResMgr ) ) : String();
         delete pLabelResMgr;
 
diff --git a/desktop/source/app/appfirststart.cxx b/desktop/source/app/appfirststart.cxx
index f2e5ca3..409e230 100644
--- a/desktop/source/app/appfirststart.cxx
+++ b/desktop/source/app/appfirststart.cxx
@@ -71,7 +71,7 @@ OUString Desktop::GetLicensePath()
 
     AllSettings aSettings(Application::GetSettings());
     aLocale = aSettings.GetUILocale();
-    ResMgr* pLocalResMgr = ResMgr::SearchCreateResMgr(aMgrName, aLocale);
+    ResMgr* pLocalResMgr = ResMgr::SearchCreateResMgr( aMgrName.getStr(), aLocale);
 
     aLangString = aLocale.Language;
     if ( aLocale.Country.getLength() != 0 )
diff --git a/desktop/source/migration/wizard.cxx b/desktop/source/migration/wizard.cxx
index db022a8..49e20a9 100644
--- a/desktop/source/migration/wizard.cxx
+++ b/desktop/source/migration/wizard.cxx
@@ -108,10 +108,7 @@ ResMgr *FirstStartWizard::pResMgr = 0;
 ResMgr *FirstStartWizard::GetResManager()
 {
     if ( !FirstStartWizard::pResMgr )
-    {
-        String aMgrName = String::CreateFromAscii( "dkt" );
-        FirstStartWizard::pResMgr = ResMgr::CreateResMgr( OUStringToOString( aMgrName, RTL_TEXTENCODING_UTF8 ));
-    }
+        FirstStartWizard::pResMgr = ResMgr::CreateResMgr( "dkt");
     return FirstStartWizard::pResMgr;
 }
 
diff --git a/dtrans/source/cnttype/mcnttype.cxx b/dtrans/source/cnttype/mcnttype.cxx
index eb8dc68..d66d5dd 100644
--- a/dtrans/source/cnttype/mcnttype.cxx
+++ b/dtrans/source/cnttype/mcnttype.cxx
@@ -327,7 +327,7 @@ OUString SAL_CALL CMimeContentType::pValue( )
             throw IllegalArgumentException( );
 
         // remove the last quote-sign
-        OUString qpvalue( pvalue, pvalue.getLength( ) - 1 );
+        const OUString qpvalue( pvalue.getStr(), pvalue.getLength( ) - 1 );
         pvalue = qpvalue;
 
         if ( !pvalue.getLength( ) )
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index 0251bcd..fa12ce6 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -2721,7 +2721,7 @@ EditPaM ImpEditEngine::InsertText( const EditSelection& rCurSel,
                         ++nChgPos;
 
                     xub_StrLen nChgLen = static_cast< xub_StrLen >( nNewLen - nChgPos );
-                    String aChgText( aNewText.copy( nChgPos ), nChgLen );
+                    String aChgText( aNewText.copy( nChgPos ).getStr(), nChgLen );
 
                     // select text from first pos to be changed to current pos
                     EditSelection aSel( EditPaM( aPaM.GetNode(), (sal_uInt16) nChgPos ), aPaM );
diff --git a/embeddedobj/source/msole/olepersist.cxx b/embeddedobj/source/msole/olepersist.cxx
index 168716a..f1f36da 100644
--- a/embeddedobj/source/msole/olepersist.cxx
+++ b/embeddedobj/source/msole/olepersist.cxx
@@ -1118,7 +1118,7 @@ void OleEmbeddedObject::StoreObjectToStream( uno::Reference< io::XOutputStream >
         m_pOleComponent->StoreOwnTmpIfNecessary();
 
     // now all the changes should be in temporary location
-    if ( !m_aTempURL )
+    if( m_aTempURL.isEmpty() )
         throw uno::RuntimeException();
 
     // open temporary file for reading
@@ -2087,7 +2087,7 @@ void SAL_CALL OleEmbeddedObject::breakLink( const uno::Reference< embed::XStorag
         catch ( uno::Exception& )
         {
             delete pNewOleComponent;
-            if ( m_aTempURL )
+            if( !m_aTempURL.isEmpty() )
                    KillFile_Impl( m_aTempURL, m_xFactory );
             m_aTempURL = aOldTempURL;
             throw;
@@ -2099,7 +2099,7 @@ void SAL_CALL OleEmbeddedObject::breakLink( const uno::Reference< embed::XStorag
         catch( uno::Exception& )
         {
             delete pNewOleComponent;
-            if ( m_aTempURL )
+            if( !m_aTempURL.isEmpty() )
                    KillFile_Impl( m_aTempURL, m_xFactory );
             m_aTempURL = aOldTempURL;
             throw;
diff --git a/extensions/source/bibliography/general.cxx b/extensions/source/bibliography/general.cxx
index 7a5f203..45fd6fc 100644
--- a/extensions/source/bibliography/general.cxx
+++ b/extensions/source/bibliography/general.cxx
@@ -508,7 +508,7 @@ uno::Reference< awt::XControlModel >  BibGeneralPage::AddXControl(
                 {
                     ::rtl::OUString sId = ::rtl::OUString::createFromAscii( INET_HID_SCHEME );
                     DBG_ASSERT( INetURLObject( rtl::OStringToOUString( sHelpId, RTL_TEXTENCODING_UTF8 ) ).GetProtocol() == INET_PROT_NOT_VALID, "Wrong HelpId!" );
-                    sId += ::rtl::OUString( sHelpId, sHelpId.getLength(), RTL_TEXTENCODING_UTF8 );
+                    sId += ::rtl::OStringToOUString( sHelpId, RTL_TEXTENCODING_UTF8 );
                     xPropSet->setPropertyValue( uProp, makeAny( sId ) );
                 }
 
diff --git a/extensions/source/config/ldap/ldapaccess.cxx b/extensions/source/config/ldap/ldapaccess.cxx
index f1289ed..89d0fbe 100644
--- a/extensions/source/config/ldap/ldapaccess.cxx
+++ b/extensions/source/config/ldap/ldapaccess.cxx
@@ -150,8 +150,8 @@ void  LdapConnection::connectSimple()
 
         // Do the bind
         LdapErrCode retCode = (*s_p_simple_bind_s)(mConnection,
-                                               mLdapDefinition.mAnonUser ,
-                                               mLdapDefinition.mAnonCredentials) ;
+                                               mLdapDefinition.mAnonUser.getStr(),
+                                               mLdapDefinition.mAnonCredentials.getStr()) ;
 
         checkLdapReturnCode("SimpleBind", retCode, mConnection) ;
     }
@@ -170,14 +170,14 @@ void LdapConnection::initConnection()
 
     if (mLdapDefinition.mPort == 0) mLdapDefinition.mPort = LDAP_PORT;
 
-    mConnection = (*s_p_init)(mLdapDefinition.mServer,
+    mConnection = (*s_p_init)( mLdapDefinition.mServer.getStr(),
                             mLdapDefinition.mPort) ;
     if (mConnection == NULL)
     {
         rtl::OUStringBuffer message ;
 
         message.appendAscii("Cannot initialise connection to LDAP server ") ;
-        message.appendAscii(mLdapDefinition.mServer) ;
+        message.appendAscii( mLdapDefinition.mServer.getStr());
         message.appendAscii(":") ;
         message.append(mLdapDefinition.mPort) ;
         throw ldap::LdapConnectionException(message.makeStringAndClear(),
@@ -197,7 +197,7 @@ void LdapConnection::initConnection()
 
     LdapMessageHolder result;
     LdapErrCode retCode = (*s_p_search_s)(mConnection,
-                                      aUserDn,
+                                      aUserDn.getStr(),
                                       LDAP_SCOPE_BASE,
                                       "(objectclass=*)",
                                       0,
@@ -231,7 +231,7 @@ void LdapConnection::initConnection()
     {
         throw lang::IllegalArgumentException(
             rtl::OUString(RTL_CONSTASCII_USTRINGPARAM
-            ("LdapConnection::findUserDn -User id is empty")),
+            ("LdapConnection::findUserDn -User id is empty")).getStr(),
                 NULL, 0) ;
     }
 
@@ -247,9 +247,9 @@ void LdapConnection::initConnection()
     attributes[0]= const_cast<sal_Char *>(LDAP_NO_ATTRS);
     attributes[1]= NULL;
     LdapErrCode retCode = (*s_p_search_s)(mConnection,
-                                      mLdapDefinition.mBaseDN,
+                                      mLdapDefinition.mBaseDN.getStr(),
                                       LDAP_SCOPE_SUBTREE,
-                                      filter.makeStringAndClear(), attributes, 0, &result.msg) ;
+                                      filter.getStr(), attributes, 0, &result.msg) ;
 
     checkLdapReturnCode("FindUserDn", retCode,mConnection) ;
     rtl::OString userDn ;
diff --git a/extensions/source/logging/filehandler.cxx b/extensions/source/logging/filehandler.cxx
index 047f97f..86efbb5 100644
--- a/extensions/source/logging/filehandler.cxx
+++ b/extensions/source/logging/filehandler.cxx
@@ -203,7 +203,7 @@ namespace logging
                 sMessage.append( ::rtl::OString( m_sFileURL.getStr(), m_sFileURL.getLength(), osl_getThreadTextEncoding() ) );
                 sMessage.append( "\nerror code: " );
                 sMessage.append( (sal_Int32)res );
-                OSL_ENSURE( false, sMessage.makeStringAndClear() );
+                OSL_ENSURE( false, sMessage.getStr() );
             }
         #endif
             if ( m_eFileValidity == eValid )
diff --git a/extensions/source/propctrlr/pcrcommon.cxx b/extensions/source/propctrlr/pcrcommon.cxx
index 8c6983f..eb59116 100644
--- a/extensions/source/propctrlr/pcrcommon.cxx
+++ b/extensions/source/propctrlr/pcrcommon.cxx
@@ -61,7 +61,7 @@ namespace pcr
     ::rtl::OUString HelpIdUrl::getHelpURL( const rtl::OString& sHelpId )
     {
         ::rtl::OUStringBuffer aBuffer;
-        ::rtl::OUString aTmp( sHelpId, sHelpId.getLength(), RTL_TEXTENCODING_UTF8 );
+        ::rtl::OUString aTmp( rtl::OStringToOUString( sHelpId, RTL_TEXTENCODING_UTF8 ));
         INetURLObject aHID( aTmp );
         if ( aHID.GetProtocol() == INET_PROT_NOT_VALID )
             aBuffer.appendAscii( INET_HID_SCHEME );
diff --git a/extensions/source/update/check/updatecheckconfig.cxx b/extensions/source/update/check/updatecheckconfig.cxx
index e9d596f..42f942d 100644
--- a/extensions/source/update/check/updatecheckconfig.cxx
+++ b/extensions/source/update/check/updatecheckconfig.cxx
@@ -183,7 +183,7 @@ UpdateCheckROModel::getUpdateEntry(UpdateInfo& rInfo) const
     rtl::OString aStr(RELEASE_NOTE);
     for(sal_Int32 n=1; n < 6; ++n )
     {
-        rtl::OUString aUStr = getStringValue(aStr + rtl::OString::valueOf(n));
+        rtl::OUString aUStr = getStringValue( (aStr + rtl::OString::valueOf(n)).getStr());
         if( aUStr.getLength() > 0 )
             rInfo.ReleaseNotes.push_back(ReleaseNote((sal_Int8) n, aUStr));
     }
diff --git a/filter/source/msfilter/eschesdo.hxx b/filter/source/msfilter/eschesdo.hxx
index f286cce..346691a 100644
--- a/filter/source/msfilter/eschesdo.hxx
+++ b/filter/source/msfilter/eschesdo.hxx
@@ -61,6 +61,9 @@ public:
     sal_Int32 ImplGetInt32PropertyValue( const sal_Unicode* pStr, sal_uInt32 nDef = 0 )
     { return ImplGetPropertyValue( pStr ) ? *(sal_Int32*)mAny.getValue() : nDef; }
 
+    sal_Bool ImplGetPropertyValue( const rtl::OUString& rStr ) { return ImplGetPropertyValue( rStr.getStr() ); }
+    sal_Bool ImplGetInt32PropertyValue( const rtl::OUString& rStr ) { return ImplGetInt32PropertyValue( rStr.getStr() ); }
+
     const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >&    GetShapeRef() const     { return mXShape; }
     const ::com::sun::star::uno::Any&       GetUsrAny() const       { return mAny; }
     const String&       GetType() const         { return mType; }
diff --git a/filter/source/msfilter/msocximex.cxx b/filter/source/msfilter/msocximex.cxx
index 2ba2f03..f101c3c 100644
--- a/filter/source/msfilter/msocximex.cxx
+++ b/filter/source/msfilter/msocximex.cxx
@@ -131,7 +131,7 @@ bool storePictureInFileSystem( OUString& location, sal_uInt8* data, sal_uInt32 d
         uno::Reference<lang::XMultiServiceFactory > xMSF( ::comphelper::getProcessServiceFactory(),
                                                       uno::UNO_QUERY_THROW );
         uno::Reference< com::sun::star::ucb::XSimpleFileAccess> xSFA( xMSF->createInstance(
-                                                       S2U("com.sun.star.ucb.SimpleFileAccess" ) ),
+                                                       OUString::createFromAscii( "com.sun.star.ucb.SimpleFileAccess") ),
                                                        uno::UNO_QUERY_THROW );
         OUString ext;
         sal_Int32 index = 0;
diff --git a/forms/source/misc/services.cxx b/forms/source/misc/services.cxx
index eabfb06..1760e4e 100644
--- a/forms/source/misc/services.cxx
+++ b/forms/source/misc/services.cxx
@@ -347,7 +347,7 @@ SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* _pImplN
 
     for (sal_Int32 i=0; i<nClasses; ++i, ++pClasses, ++pServices, ++pFunctionsAsInts)
     {
-        if (rtl_ustr_ascii_compare(*pClasses, _pImplName) == 0)
+        if( pClasses->compareToAscii( _pImplName) == 0)
         {
             ::cppu::ComponentInstantiation aCurrentCreateFunction =
                 reinterpret_cast< ::cppu::ComponentInstantiation>(*pFunctionsAsInts);
diff --git a/formula/source/ui/resource/ModuleHelper.cxx b/formula/source/ui/resource/ModuleHelper.cxx
index 47fb636..161ccc4 100644
--- a/formula/source/ui/resource/ModuleHelper.cxx
+++ b/formula/source/ui/resource/ModuleHelper.cxx
@@ -87,8 +87,7 @@ ResMgr* OModuleImpl::getResManager()
     if (!m_pRessources)
     {
         // create a manager with a fixed prefix
-        rtl::OString sName = rtl::OString( "forui" );
-        m_pRessources = ResMgr::CreateResMgr(sName);
+        m_pRessources = ResMgr::CreateResMgr( "forui");
     }
     return m_pRessources;
 }
diff --git a/fpicker/source/aqua/FilterHelper.cxx b/fpicker/source/aqua/FilterHelper.cxx
index 91ee707..860f465 100644
--- a/fpicker/source/aqua/FilterHelper.cxx
+++ b/fpicker/source/aqua/FilterHelper.cxx
@@ -105,7 +105,7 @@ shrinkFilterName( const rtl::OUString aFilterName, bool bAllowNoStar = false )
     int nBracketLen = -1;
     int nBracketEnd = -1;
     rtl::OUString rFilterName = aFilterName;
-    const sal_Unicode *pStr = rFilterName;
+    const sal_Unicode* pStr = rFilterName.getStr();
     rtl::OUString aRealName = rFilterName;
 
     for( i = aRealName.getLength() - 1; i > 0; i-- )
diff --git a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx
index e3b0217..01a4ede 100644
--- a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx
+++ b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx
@@ -286,11 +286,11 @@ SalGtkFilePicker::SalGtkFilePicker( const uno::Reference<lang::XMultiServiceFact
         case 0:
             break;
         case 1:
-            gtk_expander_set_expanded(GTK_EXPANDER(m_pFilterExpander), sal_True);
+            gtk_expander_set_expanded( GTK_EXPANDER(m_pFilterExpander), sal_True);
             break;
         case 2:
             expandexpanders(GTK_CONTAINER(m_pDialog));
-            gtk_expander_set_expanded(GTK_EXPANDER(m_pFilterExpander), sal_True);
+            gtk_expander_set_expanded( GTK_EXPANDER(m_pFilterExpander), sal_True);
             break;
     }
 
@@ -530,7 +530,7 @@ shrinkFilterName( const rtl::OUString &rFilterName, bool bAllowNoStar = false )
     int i;
     int nBracketLen = -1;
     int nBracketEnd = -1;
-    const sal_Unicode *pStr = rFilterName;
+    const sal_Unicode* pStr = rFilterName.getStr();
     OUString aRealName = rFilterName;
 
     for( i = aRealName.getLength() - 1; i > 0; i-- )
@@ -1905,7 +1905,7 @@ GtkFileFilter* SalGtkFilePicker::implAddFilter( const OUString& rFilter, const O
 
     OUString aShrunkName = shrinkFilterName( rFilter );
     OString aFilterName = rtl::OUStringToOString( aShrunkName, RTL_TEXTENCODING_UTF8 );
-    gtk_file_filter_set_name( filter, aFilterName );
+    gtk_file_filter_set_name( filter, aFilterName.getStr() );
 
     static const OUString aStarDot = OUString::createFromAscii( "*." );
     OUString aTokens;
@@ -1929,7 +1929,7 @@ GtkFileFilter* SalGtkFilePicker::implAddFilter( const OUString& rFilter, const O
                 aTokens = aTokens += aToken;
                 gtk_file_filter_add_custom (filter, GTK_FILE_FILTER_URI,
                     case_insensitive_filter,
-                    g_strdup( rtl::OUStringToOString( aToken, RTL_TEXTENCODING_UTF8 ) ),
+                    g_strdup( rtl::OUStringToOString( aToken, RTL_TEXTENCODING_UTF8).getStr() ),
                     (GDestroyNotify) g_free );
 
                 OSL_TRACE( "fustering with %s\n", rtl::OUStringToOString( aToken, RTL_TEXTENCODING_UTF8 ).getStr());
@@ -1938,8 +1938,7 @@ GtkFileFilter* SalGtkFilePicker::implAddFilter( const OUString& rFilter, const O
             else
             {
                 g_warning( "Duff filter token '%s'\n",
-                    (const sal_Char *) rtl::OUStringToOString(
-                        rType.getToken( 0, ';', nIndex ), RTL_TEXTENCODING_UTF8 ) );
+                    rtl::OUStringToOString( rType.getToken( 0, ';', nIndex ), RTL_TEXTENCODING_UTF8 ).getStr());
             }
 #endif
         }
diff --git a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
index 42ebb61..79f8144 100644
--- a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
+++ b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
@@ -701,7 +701,7 @@ void VistaFilePickerImpl::impl_sta_SetDirectory(const RequestRef& rRequest)
 #ifdef __MINGW32__
     HRESULT hResult = SHCreateItemFromParsingName ( reinterpret_cast<LPCTSTR>(sDirectory.getStr()), NULL, IID_IShellItem, reinterpret_cast<void**>(&pFolder) );
 #else
-    HRESULT hResult = SHCreateItemFromParsingName ( sDirectory, NULL, IID_PPV_ARGS(&pFolder) );
+    HRESULT hResult = SHCreateItemFromParsingName( sDirectory.getStr(), NULL, IID_PPV_ARGS(&pFolder) );
 #endif
     if ( FAILED(hResult) )
         return;
@@ -894,7 +894,7 @@ void VistaFilePickerImpl::impl_sta_ShowDialogModal(const RequestRef& rRequest)
         #ifdef __MINGW32__
             HRESULT hResult = SHCreateItemFromParsingName ( reinterpret_cast<LPCTSTR>(m_sDirectory.getStr()), NULL, IID_IShellItem, reinterpret_cast<void**>(&pFolder) );
         #else
-            HRESULT hResult = SHCreateItemFromParsingName ( m_sDirectory, NULL, IID_PPV_ARGS(&pFolder) );
+            HRESULT hResult = SHCreateItemFromParsingName( m_sDirectory.getStr(), NULL, IID_PPV_ARGS(&pFolder) );
         #endif
         if ( SUCCEEDED(hResult) )
         {
diff --git a/fpicker/source/win32/filepicker/filepickerstate.cxx b/fpicker/source/win32/filepicker/filepickerstate.cxx
index aeb4019..cd7d022 100644
--- a/fpicker/source/win32/filepicker/filepickerstate.cxx
+++ b/fpicker/source/win32/filepicker/filepickerstate.cxx
@@ -208,7 +208,7 @@ OUString MatchFixBrokenPath(const OUString& path)
     if (path[1] == ':' && path[2] == '.' && path[3] == '\\')
     {
         // skip the '.'
-        return OUString(path, 2) + path.copy(3, path.getLength() - 3);
+        return (path.copy(0,2) + path.copy(3));
     }
     return path;
 }
diff --git a/framework/inc/macros/debug/assertion.hxx b/framework/inc/macros/debug/assertion.hxx
index fa97196..8f3cd54 100644
--- a/framework/inc/macros/debug/assertion.hxx
+++ b/framework/inc/macros/debug/assertion.hxx
@@ -154,7 +154,7 @@
                         _sAssertBuffer.append( "\n\t\""         );                                              \
                         _sAssertBuffer.append( STEXT            );                                              \
                         _sAssertBuffer.append( "\"\n"           );                                              \
-                        OSL_ENSURE( !( BCONDITION ), _sAssertBuffer.makeStringAndClear() );                     \
+                        OSL_ENSURE( !( BCONDITION ), _sAssertBuffer.getStr() );                     \
                     }
 
     #endif
diff --git a/framework/inc/macros/debug/logmechanism.hxx b/framework/inc/macros/debug/logmechanism.hxx
index d20fe1c..f07d07a 100644
--- a/framework/inc/macros/debug/logmechanism.hxx
+++ b/framework/inc/macros/debug/logmechanism.hxx
@@ -52,7 +52,7 @@
                     are handled wrong.
     _____________________________________________________________________________________________________________*/
 
-    #define WRITE_LOGFILE( SFILENAME, STEXT )                                                                   \
+    inline void writeToLogFile( const char* SFILENAME, const char* STEXT )
                 {                                                                                               \
                     ::rtl::OString  _swriteLogfileFileName  ( SFILENAME );                                      \
                     ::rtl::OString  _swriteLogfileText      ( STEXT     );                                      \
@@ -61,6 +61,10 @@
                     fclose ( pFile                                    );                                        \
                 }
 
+    inline void writeToLogFile( const char* pFILENAME, const rtl::OString& rTEXT ) { writeToLogFile( pFILENAME, rTEXT.getStr()); }
+
+    #define WRITE_LOGFILE( SFILENAME, STEXT ) { writeToLogFile( (SFILENAME), (STEXT) ); }
+
     /*_____________________________________________________________________________________________________________
         LOGTYPE
 
diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
index 99dee03..2e25588 100644
--- a/framework/source/layoutmanager/toolbarlayoutmanager.cxx
+++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
@@ -1187,7 +1187,7 @@ void ToolbarLayoutManager::implts_createCustomToolBar( const rtl::OUString& aTbx
         uno::Reference< ui::XUIElement > xUIElement;
         implts_createToolBar( aTbxResName, bNotify, xUIElement );
 
-        if ( aTitle && xUIElement.is() )
+        if ( !aTitle.isEmpty() && xUIElement.is() )
         {
             vos::OGuard aGuard( Application::GetSolarMutex() );
 
diff --git a/framework/source/services/license.cxx b/framework/source/services/license.cxx
index 5916f2f..ea62c0a 100644
--- a/framework/source/services/license.cxx
+++ b/framework/source/services/license.cxx
@@ -282,7 +282,7 @@ css::uno::Any SAL_CALL License::execute(const css::uno::Sequence< css::beans::Na
         ::rtl::OString aMgrName = ::rtl::OString("fwe");
         AllSettings aSettings(Application::GetSettings());
         aLocale = aSettings.GetUILocale();
-        ResMgr* pResMgr = ResMgr::SearchCreateResMgr(aMgrName, aLocale);
+        ResMgr* pResMgr = ResMgr::SearchCreateResMgr( aMgrName.getStr(), aLocale);
 
         aLangString = aLocale.Language;
         if ( aLocale.Country.getLength() != 0 )
diff --git a/framework/source/uielement/controlmenucontroller.cxx b/framework/source/uielement/controlmenucontroller.cxx
index 5f193a0..0054d2e 100644
--- a/framework/source/uielement/controlmenucontroller.cxx
+++ b/framework/source/uielement/controlmenucontroller.cxx
@@ -228,7 +228,7 @@ void ControlMenuController::updateImagesPopupMenu( PopupMenu* pPopupMenu )
 {
     rtl::OUString aResName( RTL_CONSTASCII_USTRINGPARAM( "svx" ));
 
-    ResMgr* pResMgr = ResMgr::CreateResMgr( rtl::OUStringToOString( aResName, RTL_TEXTENCODING_ASCII_US ));
+    ResMgr* pResMgr = ResMgr::CreateResMgr( rtl::OUStringToOString( aResName, RTL_TEXTENCODING_ASCII_US ).getStr() );
     ResId aResId( m_bWasHiContrast ? RID_SVXIMGLIST_FMEXPL_HC : RID_SVXIMGLIST_FMEXPL, *pResMgr );
     aResId.SetRT( RSC_IMAGELIST );
 
diff --git a/i18npool/source/indexentry/indexentrysupplier_default.cxx b/i18npool/source/indexentry/indexentrysupplier_default.cxx
index d3d176e..f9c3db0 100644
--- a/i18npool/source/indexentry/indexentrysupplier_default.cxx
+++ b/i18npool/source/indexentry/indexentrysupplier_default.cxx
@@ -174,7 +174,7 @@ void Index::makeIndexKeys(const lang::Locale &rLocale, const OUString &algorithm
     if (!keyStr.getLength()) {
         keyStr = LocaleData().getIndexKeysByAlgorithm(LOCALE_EN,
                     LocaleData().getDefaultIndexAlgorithm(LOCALE_EN));
-        if (!keyStr)
+        if( keyStr.isEmpty() )
             throw RuntimeException();
     }
 
diff --git a/i18npool/source/localedata/saxparser.cxx b/i18npool/source/localedata/saxparser.cxx
index d1aa19b..ee45359 100644
--- a/i18npool/source/localedata/saxparser.cxx
+++ b/i18npool/source/localedata/saxparser.cxx
@@ -271,7 +271,7 @@ public: // ExtendedDocumentHandler
         source.sPublicId = sPublicId;
 
         source.aInputStream = createStreamFromFile(
-            OUStringToOString( sSystemId , RTL_TEXTENCODING_ASCII_US) );
+            OUStringToOString( sSystemId.getStr(), RTL_TEXTENCODING_ASCII_US).getStr() );
 
         return source;
     }
diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx
index 9008e33..de7b527 100644
--- a/idlc/source/idlccompile.cxx
+++ b/idlc/source/idlccompile.cxx
@@ -145,7 +145,7 @@ OString makeTempName(const OString& prefix)
 
 #if defined(SAL_W32) || defined(SAL_UNX) || defined(SAL_OS2)
 
-    OSL_ASSERT( sizeof(tmpFilePattern) > ( strlen(tmpPath)
+    OSL_ASSERT( sizeof(tmpFilePattern) > ( tmpPath.getLength()
                                            + RTL_CONSTASCII_LENGTH(
                                                 PATH_SEPARATOR )
                                            + prefix.getLength()
@@ -153,7 +153,7 @@ OString makeTempName(const OString& prefix)
                                                 "XXXXXX") ) );
 
     tmpFilePattern[ sizeof(tmpFilePattern)-1 ] = '\0';
-    strncpy(tmpFilePattern, tmpPath, sizeof(tmpFilePattern)-1);
+    strncpy(tmpFilePattern, tmpPath.getStr(), sizeof(tmpFilePattern)-1);
     strncat(tmpFilePattern, PATH_SEPARATOR, sizeof(tmpFilePattern)-1-strlen(tmpFilePattern));
     strncat(tmpFilePattern, prefix.getStr(), sizeof(tmpFilePattern)-1-strlen(tmpFilePattern));
     strncat(tmpFilePattern, "XXXXXX", sizeof(tmpFilePattern)-1-strlen(tmpFilePattern));
@@ -377,7 +377,7 @@ sal_Int32 compileFile(const OString * pathname)
 
     if ( pOptions->isValid("-E") )
     {
-        if (unlink(preprocFile) != 0)
+        if( unlink( preprocFile.getStr()) != 0)
         {
             fprintf(stderr, "%s: Could not remove parser input file %s\n",
                        pOptions->getProgramName().getStr(), preprocFile.getStr());
diff --git a/package/source/xstor/owriteablestream.cxx b/package/source/xstor/owriteablestream.cxx
index d62d266..0787d9c 100644
--- a/package/source/xstor/owriteablestream.cxx
+++ b/package/source/xstor/owriteablestream.cxx
@@ -565,7 +565,7 @@ uno::Reference< lang::XMultiServiceFactory > OWriteStream_Impl::GetServiceFactor
         ::rtl::OUString aTempURL = GetNewTempFileURL( GetServiceFactory() );
 
         try {
-            if ( aTempURL && xStream.is() )
+            if ( !aTempURL.isEmpty() && xStream.is() )
             {
                 uno::Reference < ucb::XSimpleFileAccess > xTempAccess(
                                 GetServiceFactory()->createInstance (
diff --git a/pyuno/source/module/pyuno_impl.hxx b/pyuno/source/module/pyuno_impl.hxx
index fefaefa..6178232 100644
--- a/pyuno/source/module/pyuno_impl.hxx
+++ b/pyuno/source/module/pyuno_impl.hxx
@@ -56,6 +56,9 @@
     #define PYSTR_CHECK                 PyBytes_Check
 #endif
 
+#include <rtl/string.hxx>
+inline void PyErr_SetString( PyObject* pyObj, const rtl::OString& rName) { PyErr_SetString( pyObj, rName.getStr());}
+
 namespace pyuno
 {
 
diff --git a/rdbmaker/source/codemaker/global.cxx b/rdbmaker/source/codemaker/global.cxx
index 5251ddf..ffa685a 100644
--- a/rdbmaker/source/codemaker/global.cxx
+++ b/rdbmaker/source/codemaker/global.cxx
@@ -130,7 +130,7 @@ void FileStream::open(const OString& name, FileAccessMode mode)
     if ( name.getLength() > 0 )
     {
         m_name = name;
-        m_pFile = fopen(m_name, checkAccessMode(mode));
+        m_pFile = fopen( m_name.getStr(), checkAccessMode(mode));
     }
 }
 
diff --git a/registry/source/regimpl.cxx b/registry/source/regimpl.cxx
index 306afe5..82af2ed 100644
--- a/registry/source/regimpl.cxx
+++ b/registry/source/regimpl.cxx
@@ -561,7 +561,7 @@ RegError ORegistry::destroyRegistry(const OUString& regName)
                 systemName = regName;
 
             OString name( OUStringToOString(systemName, osl_getThreadTextEncoding()) );
-            if (unlink(name) != 0)
+            if( unlink( name.getStr()) != 0)
             {
                 return REG_DESTROY_REGISTRY_FAILED;
             }
@@ -819,7 +819,7 @@ RegError ORegistry::eraseKey(ORegKey* pKey, const OUString& keyName)
         if (sFullKeyName.getLength() > 1)
             sFullKeyName += keyName;
         else
-            sFullKeyName += (keyName+1);
+            sFullKeyName += keyName.getStr() + 1;
 
         sFullPath = sFullKeyName.copy(0, keyName.lastIndexOf('/') + 1);
     } else
diff --git a/registry/tools/checksingleton.cxx b/registry/tools/checksingleton.cxx
index 45b862b..ca91e24 100644
--- a/registry/tools/checksingleton.cxx
+++ b/registry/tools/checksingleton.cxx
@@ -116,7 +116,7 @@ bool Options_Impl::initOptions_Impl(std::vector< std::string > & rArgs)
                 {
                     return badOption("invalid", option.c_str());
                 }
-                m_typeRegName = OString((*first).c_str(), (*first).size());
+                m_typeRegName = *first;
                 break;
             }
         case 'o':
diff --git a/reportdesign/source/core/resource/core_resource.cxx b/reportdesign/source/core/resource/core_resource.cxx
index 37d7826..2351d36 100644
--- a/reportdesign/source/core/resource/core_resource.cxx
+++ b/reportdesign/source/core/resource/core_resource.cxx
@@ -64,7 +64,7 @@ namespace reportdesign
             ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
 
             rtl::OString sResLibName = rtl::OString( "rpt" );
-            m_pImpl = SimpleResMgr::Create(sResLibName, aLocale);
+            m_pImpl = SimpleResMgr::Create( sResLibName.getStr(), aLocale);
         }
     }
 
diff --git a/reportdesign/source/core/sdr/ModuleHelper.cxx b/reportdesign/source/core/sdr/ModuleHelper.cxx
index c35be89..4b1dd33 100644
--- a/reportdesign/source/core/sdr/ModuleHelper.cxx
+++ b/reportdesign/source/core/sdr/ModuleHelper.cxx
@@ -88,7 +88,7 @@ ResMgr* OModuleImpl::getResManager()
     {
         // create a manager with a fixed prefix
         rtl::OString sName = rtl::OString( "rptui" );
-        m_pRessources = ResMgr::CreateResMgr(sName);
+        m_pRessources = ResMgr::CreateResMgr( sName.getStr());
     }
     return m_pRessources;
 }
diff --git a/reportdesign/source/ui/inspection/DefaultInspection.cxx b/reportdesign/source/ui/inspection/DefaultInspection.cxx
index 891a3f3..0512640 100644
--- a/reportdesign/source/ui/inspection/DefaultInspection.cxx
+++ b/reportdesign/source/ui/inspection/DefaultInspection.cxx
@@ -47,7 +47,7 @@ namespace rptui
     ::rtl::OUString HelpIdUrl::getHelpURL( const rtl::OString& sHelpId )
     {
         ::rtl::OUStringBuffer aBuffer;
-        ::rtl::OUString aTmp( sHelpId, sHelpId.getLength(), RTL_TEXTENCODING_UTF8 );
+        const ::rtl::OUString aTmp( ::rtl::OStringToOUString( sHelpId, RTL_TEXTENCODING_UTF8 ));
         DBG_ASSERT( INetURLObject( aTmp ).GetProtocol() == INET_PROT_NOT_VALID, "Wrong HelpId!" );
         aBuffer.appendAscii( INET_HID_SCHEME );
         aBuffer.append( aTmp.getStr() );
diff --git a/rsc/inc/rscerror.h b/rsc/inc/rscerror.h
index 3c85bfa..eedf3e1 100644
--- a/rsc/inc/rscerror.h
+++ b/rsc/inc/rscerror.h
@@ -27,6 +27,8 @@
 #include <tools/solar.h>
 #endif
 
+#include <rtl/string.hxx>
+
 /****************** D E F I N I T I O N S ********************************/
 /******************* R e t u r n   E r r o r s         *******************/
 #define ERR_OK              0xFFFFFFFF
@@ -153,6 +155,8 @@ public:
     // das Programm wird mit exit() verlassen
     virtual void    FatalError( const ERRTYPE& rError, const RscId &aId,
                                 const char * pMessage = NULL );
+    void Error( const ERRTYPE& rError, RscTop* pClass, const RscId& rId, const rtl::OString& rStr ) { this->Error( rError, pClass, rId, rStr.getStr()); }
+    void FatalError( const ERRTYPE& rError, const RscId& rId, const rtl::OString& rStr ) { this->FatalError( rError,rId, rStr.getStr()); }
 };
 
 #endif // _RSCERROR_H
diff --git a/rsc/source/parser/rscdb.cxx b/rsc/source/parser/rscdb.cxx
index b99e352..f516af9 100644
--- a/rsc/source/parser/rscdb.cxx
+++ b/rsc/source/parser/rscdb.cxx
@@ -112,7 +112,7 @@ static sal_uInt32 getLangIdAndShortenLocale( RscTypCont* pTypCont,
     sal_uInt32 nRet = GetLangId( aL );
     if( nRet == 0 )
     {
-        pTypCont->AddLanguage( aL );
+        pTypCont->AddLanguage( aL.getStr() );
         nRet = GetLangId( aL );
     }
     if( rVariant.getLength() )
diff --git a/sal/inc/osl/profile.hxx b/sal/inc/osl/profile.hxx
index 5ccb920..25bafed 100644
--- a/sal/inc/osl/profile.hxx
+++ b/sal/inc/osl/profile.hxx
@@ -75,17 +75,17 @@ namespace osl {
         {
             sal_Char aBuf[1024];
             return osl_readProfileString( profile,
-                                          rSection,
-                                          rEntry,
+                                          rSection.getStr(),
+                                          rEntry.getStr(),
                                           aBuf,
                                           sizeof( aBuf ),
-                                          rDefault ) ? rtl::OString( aBuf ) : rtl::OString();
+                                          rDefault.getStr() ) ? rtl::OString( aBuf ) : rtl::OString();
 
         }
 
         sal_Bool readBool( const rtl::OString& rSection, const rtl::OString& rEntry, sal_Bool bDefault )
         {
-            return osl_readProfileBool( profile, rSection, rEntry, bDefault );
+            return osl_readProfileBool( profile, rSection.getStr(), rEntry.getStr(), bDefault );
         }
 
         sal_uInt32 readIdent(const rtl::OString& rSection, const rtl::OString& rEntry,
@@ -98,11 +98,11 @@ namespace osl {
             nItems = 0;
             while( it != rStrings.end() )
             {
-                pStrings[ nItems++ ] = *it;
+                pStrings[ nItems++ ] = (*it).getStr();
                 ++it;
             }
             pStrings[ nItems ] = NULL;
-            sal_uInt32 nRet = osl_readProfileIdent(profile, rSection, rEntry, nFirstId, pStrings, nDefault);
+            sal_uInt32 nRet = osl_readProfileIdent( profile, rSection.getStr(), rEntry.getStr(), nFirstId, pStrings, nDefault);
             delete pStrings;
             return nRet;
         }
@@ -110,12 +110,12 @@ namespace osl {
         sal_Bool writeString(const rtl::OString& rSection, const rtl::OString& rEntry,
                              const rtl::OString& rString)
         {
-            return osl_writeProfileString(profile, rSection, rEntry, rString);
+            return osl_writeProfileString( profile, rSection.getStr(), rEntry.getStr(), rString.getStr());
         }
 
         sal_Bool writeBool(const rtl::OString& rSection, const rtl::OString& rEntry, sal_Bool Value)
         {
-            return osl_writeProfileBool(profile, rSection, rEntry, Value);
+            return osl_writeProfileBool( profile, rSection.getStr(), rEntry.getStr(), Value);
         }
 
         sal_Bool writeIdent(const rtl::OString& rSection, const rtl::OString& rEntry,
@@ -128,12 +128,12 @@ namespace osl {
             nItems = 0;
             while( it != rStrings.end() )
             {
-                pStrings[ nItems++ ] = *it;
+                pStrings[ nItems++ ] = (*it).getStr();
                 ++it;
             }
             pStrings[ nItems ] = NULL;
             sal_Bool bRet =
-                osl_writeProfileIdent(profile, rSection, rEntry, nFirstId, pStrings, nValue );
+                osl_writeProfileIdent( profile, rSection.getStr(), rEntry.getStr(), nFirstId, pStrings, nValue );
             delete pStrings;
             return bRet;
         }
@@ -144,7 +144,7 @@ namespace osl {
         */
         sal_Bool removeEntry(const rtl::OString& rSection, const rtl::OString& rEntry)
         {
-            return osl_removeProfileEntry(profile, rSection, rEntry);
+            return osl_removeProfileEntry( profile, rSection.getStr(), rEntry.getStr());
         }
 
         /** Get all entries belonging to the specified section.
@@ -156,11 +156,11 @@ namespace osl {
             std::list< rtl::OString > aEntries;
 
             // count buffer size necessary
-            int n = osl_getProfileSectionEntries( profile, rSection, NULL, 0 );
+            int n = osl_getProfileSectionEntries( profile, rSection.getStr(), NULL, 0 );
             if( n > 1 )
             {
                 sal_Char* pBuf = new sal_Char[ n+1 ];
-                osl_getProfileSectionEntries( profile, rSection, pBuf, n+1 );
+                osl_getProfileSectionEntries( profile, rSection.getStr(), pBuf, n+1 );
                 int nLen;
                 for( n = 0; ( nLen = strlen( pBuf+n ) ); n += nLen+1 )
                     aEntries.push_back( rtl::OString( pBuf+n ) );
diff --git a/sal/inc/rtl/locale.hxx b/sal/inc/rtl/locale.hxx
index dc1c367..ec0bedc 100644
--- a/sal/inc/rtl/locale.hxx
+++ b/sal/inc/rtl/locale.hxx
@@ -181,7 +181,7 @@ public:
     static OLocale registerLocale( const OUString & language, const OUString & country,
                             const OUString & variant )
     {
-        return rtl_locale_register( language, country, variant );
+        return rtl_locale_register( language.getStr(), country.getStr(), variant.getStr() );
     }
 
     /**
@@ -191,7 +191,7 @@ public:
      */
     static OLocale registerLocale( const OUString & language, const OUString & country )
     {
-        return rtl_locale_register( language, country, NULL );
+        return rtl_locale_register( language.getStr(), country.getStr(), NULL );
     }
 
     /** @deprecated
@@ -202,7 +202,7 @@ public:
      */
     static void setDefault( const OUString & language, const OUString & country,
                             const OUString & variant )
-             { rtl_locale_setDefault(language, country, variant); }
+             { rtl_locale_setDefault( language.getStr(), country.getStr(), variant.getStr()); }
 
     /**
          Getter for programmatic name of field,
diff --git a/sal/inc/rtl/string.hxx b/sal/inc/rtl/string.hxx
index 32a2392..df6dde2 100644
--- a/sal/inc/rtl/string.hxx
+++ b/sal/inc/rtl/string.hxx
@@ -219,9 +219,13 @@ public:
     */
     sal_Int32 getLength() const SAL_THROW(()) { return pData->length; }
 
+private:
     /**
       Returns a pointer to the characters of this string.
 
+      NOTE: the implicit cast to a char pointer is obsolete
+            because it is too dangerous #i123068#
+
       <p>The returned pointer is not guaranteed to point to a null-terminated
       byte string.  Note that this string object may contain embedded null
       characters, which will thus also be embedded in the returned byte
@@ -231,6 +235,13 @@ public:
       representing the characters of this string object.
     */
     operator const sal_Char *() const SAL_THROW(()) { return pData->buffer; }
+public:
+    /** Returns a reference to a character of this string. */
+    sal_Char& operator[]( int n ) { return pData->buffer[n]; }
+    /** Returns a const reference to a character of this string. */
+    const sal_Char& operator[]( int n ) const { return pData->buffer[n]; }
+    /** Returns a bool indicating whether this string is empty. */
+    bool isEmpty() const { return (pData->length == 0); }
 
     /**
       Returns a pointer to the characters of this string.
@@ -954,6 +965,10 @@ struct CStringHash
 
 } /* Namespace */
 
+/* Helper method to support OString messages in OSL_ENSURE */
+inline sal_Bool SAL_CALL osl_assertFailedLine( const sal_Char* pszFileName, sal_Int32 nLine, const ::rtl::OString& rMessage)
+{ return osl_assertFailedLine( pszFileName, nLine, rMessage.getStr()); }
+
 #endif /* __cplusplus */
 
 #endif /* _RTL_STRING_HXX_ */
diff --git a/sal/inc/rtl/ustring.hxx b/sal/inc/rtl/ustring.hxx
index 47031c6..183aa8b7 100644
--- a/sal/inc/rtl/ustring.hxx
+++ b/sal/inc/rtl/ustring.hxx
@@ -274,14 +274,26 @@ public:
     */
     sal_Int32 getLength() const SAL_THROW(()) { return pData->length; }
 
+private:
     /**
       Returns a pointer to the Unicode character buffer from this string.
 
+      NOTE: the implicit cast to a UTF-16 pointer is obsolete
+            because it is too dangerous #i123068#
+
       It isn't necessarily NULL terminated.
 
       @return   a pointer to the Unicode characters buffer from this object.
     */
     operator const sal_Unicode *() const SAL_THROW(()) { return pData->buffer; }
+public:
+    /** Returns a reference to a UTF-16 element of this string. */
+    sal_Unicode& operator[]( int n ) { return pData->buffer[n]; }
+    /** Returns a const reference to a UTF-16 element of this string. */
+    const sal_Unicode& operator[]( int n ) const { return pData->buffer[n]; }
+    /** Returns a bool indicating whether this string is empty. */
+    bool isEmpty() const { return (pData->length == 0); }
+
 
     /**
       Returns a pointer to the Unicode character buffer from this string.
diff --git a/sax/source/tools/fastserializer.cxx b/sax/source/tools/fastserializer.cxx
index 187dd14..7247bd0 100644
--- a/sax/source/tools/fastserializer.cxx
+++ b/sax/source/tools/fastserializer.cxx
@@ -78,7 +78,7 @@ namespace sax_fastparser {
     OUString FastSaxSerializer::escapeXml( const OUString& s )
     {
         ::rtl::OUStringBuffer sBuf( s.getLength() );
-        const sal_Unicode* pStr = s;
+        const sal_Unicode* pStr = s.getStr();
         sal_Int32 nLen = s.getLength();
         for( sal_Int32 i = 0; i < nLen; ++i)
         {
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index eb05845..2a7cbd5 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -526,7 +526,7 @@ void XclExpHyperlink::SaveXml( XclExpXmlStream& rStrm )
     OUString sId = rStrm.addRelation( rStrm.GetCurrentStream()->getOutputStream(),
             XclXmlUtils::ToOUString( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" ),
             msTarget,
-            XclXmlUtils::ToOUString( "External" ) );
+            true );
     rStrm.GetCurrentStream()->singleElement( XML_hyperlink,
             XML_ref,                XclXmlUtils::ToOString( maScPos ).getStr(),
             FSNS( XML_r, XML_id ),  XclXmlUtils::ToOString( sId ).getStr(),
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index d301e74..2bb351a 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -961,7 +961,7 @@ sax_fastparser::FSHelperPtr& XclExpXmlStream::WriteFontData( const XclFontData&
                 // OOXTODO: XML_theme,      index into <clrScheme/>
                 // OOXTODO: XML_tint,       double
                 FSEND );
-    lcl_WriteValue( rStream, XML_sz,         OString::valueOf( (double) (rFontData.mnHeight / 20.0) ) );  // Twips->Pt
+    lcl_WriteValue( rStream, XML_sz,         OString::valueOf( (double) (rFontData.mnHeight / 20.0) ).getStr() );  // Twips->Points
     lcl_WriteValue( rStream, XML_u,          bHaveUnderline ? pUnderline : NULL );
     lcl_WriteValue( rStream, XML_vertAlign,  bHaveVertAlign ? pVertAlign : NULL );
 
diff --git a/scaddins/source/analysis/analysis.cxx b/scaddins/source/analysis/analysis.cxx
index 4d2c5be..005b021 100644
--- a/scaddins/source/analysis/analysis.cxx
+++ b/scaddins/source/analysis/analysis.cxx
@@ -158,8 +158,7 @@ void AnalysisAddIn::InitData( void )
         delete pResMgr;
 
     OString             aModName( "analysis" );
-    pResMgr = ResMgr::CreateResMgr( ( const sal_Char* ) aModName,
-                                        aFuncLoc );
+    pResMgr = ResMgr::CreateResMgr( aModName.getStr(), aFuncLoc );
 
     if( pFD )
         delete pFD;
diff --git a/scaddins/source/analysis/analysishelper.cxx b/scaddins/source/analysis/analysishelper.cxx
index 32edb3f..6928e03 100644
--- a/scaddins/source/analysis/analysishelper.cxx
+++ b/scaddins/source/analysis/analysishelper.cxx
@@ -1844,7 +1844,7 @@ sal_Bool Complex::ParseString( const STRING& rStr, Complex& rCompl )
 {
     rCompl.c = '\0';    // do not force a symbol, if only real part present
 
-    const sal_Unicode*      pStr = ( const sal_Unicode * ) rStr;
+    const sal_Unicode* pStr = rStr.getStr();
 
     if( IsImagUnit( *pStr ) && rStr.getLength() == 1)
     {
diff --git a/scaddins/source/datefunc/datefunc.cxx b/scaddins/source/datefunc/datefunc.cxx
index 9839104..80961ba 100644
--- a/scaddins/source/datefunc/datefunc.cxx
+++ b/scaddins/source/datefunc/datefunc.cxx
@@ -329,8 +329,7 @@ void ScaDateAddIn::InitData()
         delete pResMgr;
 
     OString aModName( "date" );
-    pResMgr = ResMgr::CreateResMgr( (const sal_Char*) aModName,
-                                        aFuncLoc );
+    pResMgr = ResMgr::CreateResMgr( aModName.getStr(), aFuncLoc );
 
     if( pFuncDataList )
         delete pFuncDataList;
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx
index 5632dad..161170f 100644
--- a/sd/source/filter/eppt/epptso.cxx
+++ b/sd/source/filter/eppt/epptso.cxx
@@ -4938,7 +4938,7 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a
                                 mpPptEscherEx->AddAtom( 4, EPP_TextHeaderAtom );
                                 *mpStrm << (sal_uInt32)EPP_TEXTTYPE_Title;
                                 mpPptEscherEx->AddAtom( mnTextSize << 1, EPP_TextCharsAtom );
-                                const sal_Unicode* pString = aUString;
+                                const sal_Unicode* pString = aUString.getStr();
                                 for ( sal_uInt32 i = 0; i < mnTextSize; i++ )
                                 {
                                     nChar = pString[ i ];       // 0xa -> 0xb weicher Zeilenumbruch
diff --git a/sd/source/ui/unoidl/unosrch.cxx b/sd/source/ui/unoidl/unosrch.cxx
index 4d65427..7886095 100644
--- a/sd/source/ui/unoidl/unosrch.cxx
+++ b/sd/source/ui/unoidl/unosrch.cxx
@@ -489,7 +489,7 @@ uno::Reference< text::XTextRange >  SdUnoSearchReplaceShape::Search( uno::Refere
     sal_Int32* pConvertPara = new sal_Int32[nTextLen+2];
 
     int ndbg = 0;
-    const sal_Unicode* pText = aText;
+    const sal_Unicode* pText = aText.getStr();
 
     sal_Int32* pPos = pConvertPos;
     sal_Int32* pPara = pConvertPara;
diff --git a/sfx2/inc/sfx2/sfxuno.hxx b/sfx2/inc/sfx2/sfxuno.hxx
index d61d6fd..f64def2 100644
--- a/sfx2/inc/sfx2/sfxuno.hxx
+++ b/sfx2/inc/sfx2/sfxuno.hxx
@@ -105,11 +105,6 @@ bool GetEncryptionData_Impl( const SfxItemSet* pSet, ::com::sun::star::uno::Sequ
 
 #define FrameSearchFlags            sal_Int32
 
-// Macros to convert string -> unicode and unicode -> string.
-// We use UTF8 everytime. Its the best way to do this!
-#define S2U(STRING)                             ::rtl::OStringToOUString(STRING, RTL_TEXTENCODING_UTF8)
-#define U2S(STRING)                             ::rtl::OUStringToOString(STRING, RTL_TEXTENCODING_UTF8)
-
 // Macro to define const unicode a'la "..."
 // It's better then "OUString::createFromAscii(...)" !!!
 #define DEFINE_CONST_UNICODE(CONSTASCII)        UniString(RTL_CONSTASCII_USTRINGPARAM(CONSTASCII))
diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index 01cd7f3..e660f12 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -553,8 +553,7 @@ short SfxApplication::QuerySave_Impl( SfxObjectShell& rDoc, sal_Bool /*bAutoSave
 
 ResMgr* SfxApplication::CreateResManager( const char *pPrefix )
 {
-    String aMgrName = String::CreateFromAscii( pPrefix );
-    return ResMgr::CreateResMgr(U2S(aMgrName));
+    return ResMgr::CreateResMgr( pPrefix);
 }
 
 //---------------------------------------------------------------------
diff --git a/sfx2/source/appl/appdde.cxx b/sfx2/source/appl/appdde.cxx
index 452ca0d..54e2e28 100644
--- a/sfx2/source/appl/appdde.cxx
+++ b/sfx2/source/appl/appdde.cxx
@@ -54,14 +54,14 @@
 
 String SfxDdeServiceName_Impl( const String& sIn )
 {
-    ByteString sTemp = U2S( sIn );
+    ByteString sTemp( sIn, RTL_TEXTENCODING_UTF8 );
     ByteString sReturn;
 
     for ( sal_uInt16 n = sTemp.Len(); n; --n )
         if ( sTemp.Copy( n-1, 1 ).IsAlphaNumericAscii() )
             sReturn += sTemp.GetChar(n-1);
 
-    return S2U( sReturn );
+    return String( sReturn, RTL_TEXTENCODING_UTF8 );
 }
 
 
@@ -159,7 +159,7 @@ sal_Bool SfxAppEvent_Impl( ApplicationEvent &rAppEvent,
             }
             aData.EraseAllChars( 0x0022 );
             ApplicationAddress aAddr;
-            rAppEvent = ApplicationEvent( String(), aAddr, U2S(rEvent), aData );
+            rAppEvent = ApplicationEvent( String(), aAddr, ByteString( rEvent, RTL_TEXTENCODING_UTF8), aData );
             return sal_True;
         }
     }
diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx
index 0e377f9..13af653 100644
--- a/sfx2/source/appl/sfxhelp.cxx
+++ b/sfx2/source/appl/sfxhelp.cxx
@@ -274,7 +274,7 @@ SfxHelpOptions_Impl::SfxHelpOptions_Impl()
                         ::rtl::OUString aCodedList;
                         if ( pValues[nProp] >>= aCodedList )
                         {
-                            rtl::OString aTmp( aCodedList, aCodedList.getLength(), RTL_TEXTENCODING_UTF8 );
+                            const rtl::OString aTmp( OUStringToOString( aCodedList, RTL_TEXTENCODING_UTF8 ));
                             sal_Int32 nIndex = 0;
                             do
                             {
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
index e6e6141..1b20d4e 100644
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -904,10 +904,10 @@ void ShutdownIcon::SetAutostart( bool bActivate )
                                                      osl_getThreadTextEncoding() );
         OString aShortcutUnx = OUStringToOString( aShortcut,
                                                   osl_getThreadTextEncoding() );
-        if ((0 != symlink(aDesktopFileUnx, aShortcutUnx)) && (errno == EEXIST))
+        if ((0 != symlink( aDesktopFileUnx.getStr(), aShortcutUnx.getStr())) && (errno == EEXIST))
         {
-        unlink(aShortcutUnx);
-        symlink(aDesktopFileUnx, aShortcutUnx);
+        unlink( aShortcutUnx.getStr());
+        symlink( aDesktopFileUnx.getStr(), aShortcutUnx.getStr());
         }
 
         ShutdownIcon *pIcon = ShutdownIcon::createInstance();
diff --git a/sfx2/source/appl/shutdowniconunx.cxx b/sfx2/source/appl/shutdowniconunx.cxx
index 0e5f3bd..1a3d069 100644
--- a/sfx2/source/appl/shutdowniconunx.cxx
+++ b/sfx2/source/appl/shutdowniconunx.cxx
@@ -176,7 +176,7 @@ static void add_item( GtkMenuShell *pMenuShell, const char *pAsciiURL,
     GtkWidget *pImage = gtk_image_new_from_pixbuf( pPixbuf );
     g_object_unref( G_OBJECT( pPixbuf ) );
 
-    GtkWidget *pMenuItem = gtk_image_menu_item_new_with_label( aLabel );
+    GtkWidget* pMenuItem = gtk_image_menu_item_new_with_label( aLabel.getStr() );
     gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( pMenuItem ), pImage );
     g_signal_connect_data( pMenuItem, "activate", pFnCallback, pURL,
                            oustring_delete, GConnectFlags(0));
@@ -224,11 +224,9 @@ add_image_menu_item( GtkMenuShell *pMenuShell,
 {
     OString aUtfLabel = rtl::OUStringToOString (aLabel, RTL_TEXTENCODING_UTF8 );
 
-    GtkWidget *pImage;
-    pImage = gtk_image_new_from_stock( stock_id, GTK_ICON_SIZE_MENU );
+    GtkWidget* pImage = gtk_image_new_from_stock( stock_id, GTK_ICON_SIZE_MENU );
 
-    GtkWidget *pMenuItem;
-    pMenuItem = gtk_image_menu_item_new_with_label( aUtfLabel );
+    GtkWidget* pMenuItem = gtk_image_menu_item_new_with_label( aUtfLabel.getStr() );
     gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM( pMenuItem ), pImage );
 
     gtk_menu_shell_append( pMenuShell, pMenuItem );
diff --git a/sfx2/source/bastyp/mieclip.cxx b/sfx2/source/bastyp/mieclip.cxx
index 5e47216..bcea749 100644
--- a/sfx2/source/bastyp/mieclip.cxx
+++ b/sfx2/source/bastyp/mieclip.cxx
@@ -63,7 +63,7 @@ SvStream* MSE40HTMLClipFormatObj::IsValid( SvStream& rStream )
             else if( sTmp == "EndHTML" )
                 nEnd = (sal_uIntPtr)(sLine.Erase( 0, nIndex ).ToInt32());
             else if( sTmp == "SourceURL" )
-                sBaseURL = String(S2U(sLine.Erase( 0, nIndex )));
+                sBaseURL = String( sLine.Erase( 0, nIndex ), RTL_TEXTENCODING_UTF8);
 
             if( nEnd && nStt &&
                 ( sBaseURL.Len() || rStream.Tell() >= nStt ))
diff --git a/sfx2/source/bastyp/sfxhtml.cxx b/sfx2/source/bastyp/sfxhtml.cxx
index 93ce743..9ead351 100644
--- a/sfx2/source/bastyp/sfxhtml.cxx
+++ b/sfx2/source/bastyp/sfxhtml.cxx
@@ -325,7 +325,7 @@ sal_Bool SfxHTMLParser::FinishFileDownload( String& rStr )
         sal_Char* pBuffer = sBuffer.AllocBuffer(nLen);
         aStream.Seek( 0 );
         aStream.Read((void*)pBuffer, nLen);
-        rStr = String( S2U(pBuffer) );
+        rStr = String( pBuffer, RTL_TEXTENCODING_UTF8);
     }
 
     delete pDLMedium;
diff --git a/sfx2/source/control/macro.cxx b/sfx2/source/control/macro.cxx
index 7f31ac7..f389262 100644
--- a/sfx2/source/control/macro.cxx
+++ b/sfx2/source/control/macro.cxx
@@ -334,7 +334,7 @@ void SfxMacroStatement::GenerateNameAndArgs_Impl
         aStatement += '.';
 
     // der Name des Slots ist der Name der Methode / des Properties
-    aStatement += String::CreateFromAscii(rSlot.pName);
+    aStatement += String( rtl::OStringToOUString( rSlot.pName, RTL_TEXTENCODING_UTF8));
     if ( rSlot.IsMode(SFX_SLOT_METHOD) )
         aStatement += DEFINE_CONST_UNICODE("( ");
     else
diff --git a/sfx2/source/control/msg.cxx b/sfx2/source/control/msg.cxx
index 19f424d..398da94 100644
--- a/sfx2/source/control/msg.cxx
+++ b/sfx2/source/control/msg.cxx
@@ -65,7 +65,6 @@ sal_uInt16 SfxSlot::GetWhich( const SfxItemPool &rPool ) const
 
 ::rtl::OUString SfxSlot::GetCommandString() const
 {
-    rtl::OString aCmd(GetCommand());
-    return rtl::OUString( aCmd, aCmd.getLength(), RTL_TEXTENCODING_UTF8 );
+    return rtl::OStringToOUString( GetCommand(), RTL_TEXTENCODING_UTF8);
 }
 
diff --git a/sfx2/source/control/shell.cxx b/sfx2/source/control/shell.cxx
index c9ebfb9..c4d348c 100644
--- a/sfx2/source/control/shell.cxx
+++ b/sfx2/source/control/shell.cxx
@@ -1115,7 +1115,7 @@ void SfxShell::SetVerbs(const com::sun::star::uno::Sequence < com::sun::star::em
         pNewSlot->fnExec = SFX_STUB_PTR(SfxShell,VerbExec);
         pNewSlot->fnState = SFX_STUB_PTR(SfxShell,VerbState);
         pNewSlot->pType = 0; HACK(SFX_TYPE(SfxVoidItem))
-        pNewSlot->pName = U2S(aVerbs[n].VerbName);
+        pNewSlot->pName = OUStringToOString( aVerbs[n].VerbName, RTL_TEXTENCODING_UTF8).getStr(); // TODO: life time of temp is suspicious!!!
         pNewSlot->pLinkedSlot = 0;
         pNewSlot->nArgDefCount = 0;
         pNewSlot->pFirstArgDef = 0;
diff --git a/svtools/source/edit/texteng.cxx b/svtools/source/edit/texteng.cxx
index 2f30530..d3cf3e9 100644
--- a/svtools/source/edit/texteng.cxx
+++ b/svtools/source/edit/texteng.cxx
@@ -803,7 +803,7 @@ TextPaM TextEngine::ImpInsertText( sal_Unicode c, const TextSelection& rCurSel,
                         ++nChgPos;
 
                     xub_StrLen nChgLen = static_cast< xub_StrLen >(nNewLen - nChgPos);
-                    String aChgText( aNewText.copy( nChgPos ), nChgLen );
+                    String aChgText( aNewText.copy( nChgPos ).getStr(), nChgLen );
 
                     // select text from first pos to be changed to current pos
                     TextSelection aSel( TextPaM( aPaM.GetPara(), (sal_uInt16) nChgPos ), aPaM );
diff --git a/svtools/source/table/cellvalueconversion.cxx b/svtools/source/table/cellvalueconversion.cxx
index 18386c3..e19c4ac 100644
--- a/svtools/source/table/cellvalueconversion.cxx
+++ b/svtools/source/table/cellvalueconversion.cxx
@@ -426,7 +426,7 @@ namespace svt
                     ::rtl::OStringBuffer message( "lcl_getValueNormalizer: unsupported type '" );
                     message.append( ::rtl::OUStringToOString( sTypeName, RTL_TEXTENCODING_ASCII_US ) );
                     message.append( "'!" );
-                    OSL_ENSURE( false, message.makeStringAndClear() );
+                    OSL_ENSURE( false, message.getStr() );
 #endif
                 }
                 io_data.aNormalizers[ sTypeName ] = o_formatter;
diff --git a/svtools/source/uno/wizard/unowizard.cxx b/svtools/source/uno/wizard/unowizard.cxx
index 094b6e7..845adfc 100644
--- a/svtools/source/uno/wizard/unowizard.cxx
+++ b/svtools/source/uno/wizard/unowizard.cxx
@@ -217,7 +217,7 @@ namespace svt { namespace uno
     static ::rtl::OUString lcl_getHelpURL( const rtl::OString& sHelpId )
     {
         ::rtl::OUStringBuffer aBuffer;
-        ::rtl::OUString aTmp( sHelpId, sHelpId.getLength(), RTL_TEXTENCODING_UTF8 );
+        ::rtl::OUString aTmp( OStringToOUString( sHelpId, RTL_TEXTENCODING_UTF8 ));
         INetURLObject aHID( aTmp );
         if ( aHID.GetProtocol() == INET_PROT_NOT_VALID )
             aBuffer.appendAscii( INET_HID_SCHEME );
diff --git a/svx/source/accessibility/ChildrenManagerImpl.cxx b/svx/source/accessibility/ChildrenManagerImpl.cxx
index c40198c..6e0e179 100644
--- a/svx/source/accessibility/ChildrenManagerImpl.cxx
+++ b/svx/source/accessibility/ChildrenManagerImpl.cxx
@@ -151,8 +151,8 @@ uno::Reference<XAccessible>
     // Check wether the given index is valid.
     if (nIndex < 0 || (unsigned long)nIndex >= maVisibleChildren.size())
         throw lang::IndexOutOfBoundsException (
-            ::rtl::OUString::createFromAscii(
-                "no accessible child with index ") + nIndex,
+            ::rtl::OUString::createFromAscii( "no accessible child with index ")
+                + ::rtl::OUString::valueOf( nIndex, 10),
             mxParent);
 
     return GetChild (maVisibleChildren[nIndex],nIndex);
diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx
index d2c49b4..008708a 100644
--- a/svx/source/fmcomp/fmgridcl.cxx
+++ b/svx/source/fmcomp/fmgridcl.cxx
@@ -1648,7 +1648,7 @@ void FmGridControl::InitColumnsByModels(const Reference< ::com::sun::star::conta
         Reference< ::com::sun::star::beans::XPropertySet > xCol;
         ::cppu::extractInterface(xCol, xColumns->getByIndex(i));
 
-        aName  = (const sal_Unicode*)::comphelper::getString(xCol->getPropertyValue(FM_PROP_LABEL));
+        aName  = ::comphelper::getString( xCol->getPropertyValue(FM_PROP_LABEL)).getStr();
 
         aWidth = xCol->getPropertyValue(FM_PROP_WIDTH);
         sal_Int32 nWidth = 0;
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 11e730d..8ed1d30 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -1539,7 +1539,7 @@ String DbFormattedField::GetFormatText(const Reference< ::com::sun::star::sdb::X
         {
             // Hier kann ich nicht mit einem double arbeiten, da das Feld mir keines liefern kann.
             // Also einfach den Text vom ::com::sun::star::util::NumberFormatter in die richtige ::com::sun::star::form::component::Form brinden lassen.
-            aText = (const sal_Unicode*)_rxField->getString();
+            aText = _rxField->getString().getStr();
             if (_rxField->wasNull())
                 return aText;
             ((FormattedField*)m_pPainter)->SetTextFormatted(aText);
@@ -2957,7 +2957,7 @@ sal_Bool DbFilterField::commitControl()
             {
                 sal_Int16 nPos = (sal_Int16)static_cast<ListBox*>(m_pWindow)->GetSelectEntryPos();
                 if ( ( nPos >= 0 ) && ( nPos < m_aValueList.getLength() ) )
-                    aText = (const sal_Unicode*)m_aValueList.getConstArray()[nPos];
+                    aText = m_aValueList.getConstArray()[nPos];
             }
 
             if (m_aText != aText)
diff --git a/svx/source/form/filtnav.cxx b/svx/source/form/filtnav.cxx
index 839af81..cf27de6 100644
--- a/svx/source/form/filtnav.cxx
+++ b/svx/source/form/filtnav.cxx
@@ -948,7 +948,7 @@ void FmFilterModel::SetTextForItem(FmFilterItem* pItem, const ::rtl::OUString& r
 
     m_pAdapter->setText(nParentPos, pItem, rText);
 
-    if (!rText)
+    if( rText.isEmpty() )
         Remove(pItem);
     else
     {
diff --git a/svx/source/form/fmsrcimp.cxx b/svx/source/form/fmsrcimp.cxx
index 4a67588..b7507f2 100644
--- a/svx/source/form/fmsrcimp.cxx
+++ b/svx/source/form/fmsrcimp.cxx
@@ -254,7 +254,7 @@ sal_Bool FmSearchEngine::MoveCursor()
 #if OSL_DEBUG_LEVEL > 0
         String sDebugMessage;
         sDebugMessage.AssignAscii("FmSearchEngine::MoveCursor : catched a DatabaseException (");
-        sDebugMessage += (const sal_Unicode*)e.SQLState;
+        sDebugMessage += e.SQLState.getStr();
         sDebugMessage.AppendAscii(") !");
         DBG_ERROR(ByteString(sDebugMessage, RTL_TEXTENCODING_ASCII_US).GetBuffer());
 #endif
@@ -265,7 +265,7 @@ sal_Bool FmSearchEngine::MoveCursor()
 #if OSL_DEBUG_LEVEL > 0
         UniString sDebugMessage;
         sDebugMessage.AssignAscii("FmSearchEngine::MoveCursor : catched an Exception (");
-        sDebugMessage += (const sal_Unicode*)e.Message;
+        sDebugMessage += e.Message.getStr();
         sDebugMessage.AppendAscii(") !");
         DBG_ERROR(ByteString(sDebugMessage, RTL_TEXTENCODING_ASCII_US).GetBuffer());
 #endif
diff --git a/sw/source/core/swg/SwXMLTextBlocks1.cxx b/sw/source/core/swg/SwXMLTextBlocks1.cxx
index 76f807b..8b078c7 100644
--- a/sw/source/core/swg/SwXMLTextBlocks1.cxx
+++ b/sw/source/core/swg/SwXMLTextBlocks1.cxx
@@ -70,7 +70,7 @@ sal_uLong SwXMLTextBlocks::GetDoc( sal_uInt16 nIdx )
         try
         {
             xRoot = xBlkRoot->openStorageElement( aFolderName, embed::ElementModes::READ );
-            xMedium = new SfxMedium(xRoot, GetBaseURL(), S2U("writer8"));
+            xMedium = new SfxMedium(xRoot, GetBaseURL(), OUString::createFromAscii("writer8"));
             SwReader aReader(*xMedium,aFolderName, pDoc );
             ReadXML->SetBlockMode( sal_True );
             aReader.Read( *ReadXML );
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index 9d428dd..6839590 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -2067,7 +2067,7 @@ void SwXShape::attach(const uno::Reference< text::XTextRange > & xTextRange)
             {
                 uno::Any aPos;
                 aPos <<= xTextRange;
-                setPropertyValue(S2U("TextRange"), aPos);
+                setPropertyValue( C2U("TextRange"), aPos);
                 uno::Reference< drawing::XShape > xTemp( (cppu::OWeakObject*) this, uno::UNO_QUERY );
                 xDP->add( xTemp );
             }
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index 624297b..dd66cb0 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -2582,7 +2582,7 @@ uno::Reference< text::XTextCursor >  SwXTextFrame::createTextCursor(void) throw(
         if(!pNewStartNode || pNewStartNode != pOwnStartNode)
         {
             uno::RuntimeException aExcept;
-            aExcept.Message = S2U("no text available");
+            aExcept.Message = C2U("no text available");
             throw aExcept;
         }
 
diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx
index 13d8e2b..f827558 100644
--- a/sw/source/core/unocore/unotext.cxx
+++ b/sw/source/core/unocore/unotext.cxx
@@ -2874,7 +2874,7 @@ SwXHeadFootText::createTextCursor() throw (uno::RuntimeException)
     if (!pNewStartNode || (pNewStartNode != pOwnStartNode))
     {
         uno::RuntimeException aExcept;
-        aExcept.Message = S2U("no text available");
+        aExcept.Message = C2U("no text available");
         throw aExcept;
     }
     xRet = static_cast<text::XWordCursor*>(pXCursor);
diff --git a/sw/source/filter/ww8/rtfexport.hxx b/sw/source/filter/ww8/rtfexport.hxx
index e9eed3b..045cc4e 100644
--- a/sw/source/filter/ww8/rtfexport.hxx
+++ b/sw/source/filter/ww8/rtfexport.hxx
@@ -46,6 +46,9 @@ class SwGrfNode;
 class SwOLENode;
 class SwSectionNode;
 class SwNumRuleTbl;
+class SvStream;
+
+inline SvStream& operator<<( SvStream& s, const rtl::OString r) { return (s << r.getStr()); }
 
 namespace com { namespace sun { namespace star {
     namespace frame { class XModel; }
diff --git a/sw/source/filter/ww8/rtfsdrexport.cxx b/sw/source/filter/ww8/rtfsdrexport.cxx
index 224c01b..1f58cae 100644
--- a/sw/source/filter/ww8/rtfsdrexport.cxx
+++ b/sw/source/filter/ww8/rtfsdrexport.cxx
@@ -469,7 +469,7 @@ sal_Int32 RtfSdrExport::StartShape()
     m_rAttrOutput.RunText().append(OOO_STRING_SVTOOLS_RTF_SHPBYIGNORE);
 
     for(std::map<OString,OString>::reverse_iterator i = m_aShapeProps.rbegin(); i != m_aShapeProps.rend(); i++)
-        lcl_AppendSP(m_rAttrOutput.RunText(), (*i).first, (*i).second );
+        lcl_AppendSP(m_rAttrOutput.RunText(), (*i).first.getStr(), (*i).second );
 
     lcl_AppendSP(m_rAttrOutput.RunText(), "wzDescription", RtfExport::OutString( m_pSdrObject->GetDescription(), m_rExport.eCurrentEncoding));

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list