[Libreoffice-commits] core.git: basic/source

Stephan Bergmann sbergman at redhat.com
Tue Oct 15 01:33:53 PDT 2013


 basic/source/inc/iosys.hxx       |    6 +++---
 basic/source/runtime/iosys.cxx   |   18 ++++++++----------
 basic/source/runtime/runtime.cxx |   11 ++++-------
 3 files changed, 15 insertions(+), 20 deletions(-)

New commits:
commit 458c5a0f475890edcd15a0b2309500203913e7b2
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Oct 15 10:33:10 2013 +0200

    Defer OUString -> OString conversion
    
    ...to avoid converting back OString -> OUString in SbiIoSystem::WriteCon.
    
    Change-Id: I17024891d0babaa589f2c65f1123f1905c4338bb

diff --git a/basic/source/inc/iosys.hxx b/basic/source/inc/iosys.hxx
index d6d6c6a..9304dba 100644
--- a/basic/source/inc/iosys.hxx
+++ b/basic/source/inc/iosys.hxx
@@ -75,11 +75,11 @@ class SbiIoSystem
     SbiStream* pChan[ CHANNELS ];
     OString aPrompt;
     OString aIn;
-    OString aOut;
+    OUString aOut;
     short     nChan;
     SbError   nError;
     void      ReadCon(OString&);
-    void      WriteCon(const OString&);
+    void      WriteCon(const OUString&);
 public:
     SbiIoSystem();
    ~SbiIoSystem();
@@ -93,7 +93,7 @@ public:
     void  Close();
     void  Read(OString&, short = 0);
     char  Read();
-    void  Write(const OString&, short = 0);
+    void  Write(const OUString&, short = 0);
     // 0 == bad channel or no SvStream (nChannel=0..CHANNELS-1)
     SbiStream* GetStream( short nChannel ) const;
     void  CloseAll(); // JSM
diff --git a/basic/source/runtime/iosys.cxx b/basic/source/runtime/iosys.cxx
index c4a6d64..511eb11 100644
--- a/basic/source/runtime/iosys.cxx
+++ b/basic/source/runtime/iosys.cxx
@@ -842,15 +842,14 @@ void SbiIoSystem::Shutdown()
     // anything left to PRINT?
     if( !aOut.isEmpty() )
     {
-        OUString aOutStr(OStringToOUString(aOut, osl_getThreadTextEncoding()));
 #if defined __GNUC__
         Window* pParent = Application::GetDefDialogParent();
-        MessBox( pParent, WinBits( WB_OK ), OUString(), aOutStr ).Execute();
+        MessBox( pParent, WinBits( WB_OK ), OUString(), aOut ).Execute();
 #else
-        MessBox( GetpApp()->GetDefDialogParent(), WinBits( WB_OK ), OUString(), aOutStr ).Execute();
+        MessBox( GetpApp()->GetDefDialogParent(), WinBits( WB_OK ), OUString(), aOut ).Execute();
 #endif
     }
-    aOut = OString();
+    aOut = OUString();
 }
 
 
@@ -894,7 +893,7 @@ char SbiIoSystem::Read()
     return ch;
 }
 
-void SbiIoSystem::Write(const OString& rBuf, short n)
+void SbiIoSystem::Write(const OUString& rBuf, short n)
 {
     if( !nChan )
     {
@@ -906,7 +905,7 @@ void SbiIoSystem::Write(const OString& rBuf, short n)
     }
     else
     {
-        nError = pChan[ nChan ]->Write( rBuf, n );
+        nError = pChan[ nChan ]->Write( OUStringToOString(rBuf, osl_getThreadTextEncoding()), n );
     }
 }
 
@@ -963,7 +962,7 @@ void SbiIoSystem::ReadCon(OString& rIn)
 
 // output of a MessageBox, if theres a CR in the console-buffer
 
-void SbiIoSystem::WriteCon(const OString& rText)
+void SbiIoSystem::WriteCon(const OUString& rText)
 {
     aOut += rText;
     sal_Int32 n1 = aOut.indexOf('\n');
@@ -982,18 +981,17 @@ void SbiIoSystem::WriteCon(const OString& rText)
         {
             n1 = n2;
         }
-        OString s(aOut.copy(0, n1));
+        OUString s(aOut.copy(0, n1));
         aOut = aOut.copy(n1);
         while (aOut[0] == '\n' || aOut[0] == '\r')
         {
             aOut = aOut.copy(1);
         }
-        OUString aStr(OStringToOUString(s, osl_getThreadTextEncoding()));
         {
             SolarMutexGuard aSolarGuard;
             if( !MessBox( GetpApp()->GetDefDialogParent(),
                         WinBits( WB_OK_CANCEL | WB_DEF_OK ),
-                        OUString(), aStr ).Execute() )
+                        OUString(), s ).Execute() )
             {
                 nError = SbERR_USER_ABORT;
             }
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index 047c25c..a2c55a8 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -2706,8 +2706,7 @@ void SbiRuntime::StepPRINT()        // print TOS
         s = " ";    // one blank before
     }
     s += s1;
-    OString aByteStr(OUStringToOString(s, osl_getThreadTextEncoding()));
-    pIosys->Write( aByteStr );
+    pIosys->Write( s );
     Error( pIosys->GetError() );
 }
 
@@ -2722,8 +2721,7 @@ void SbiRuntime::StepPRINTF()       // print TOS in field
     }
     s.append(s1);
     comphelper::string::padToLength(s, 14, ' ');
-    OString aByteStr(OUStringToOString(s.makeStringAndClear(), osl_getThreadTextEncoding()));
-    pIosys->Write( aByteStr );
+    pIosys->Write( s.makeStringAndClear() );
     Error( pIosys->GetError() );
 }
 
@@ -2750,8 +2748,7 @@ void SbiRuntime::StepWRITE()        // write TOS
     {
         s += OUString(ch);
     }
-    OString aByteStr(OUStringToOString(s, osl_getThreadTextEncoding()));
-    pIosys->Write( aByteStr );
+    pIosys->Write( s );
     Error( pIosys->GetError() );
 }
 
@@ -3206,7 +3203,7 @@ void SbiRuntime::StepCLOSE( sal_uInt32 nOp1 )
 
 void SbiRuntime::StepPRCHAR( sal_uInt32 nOp1 )
 {
-    OString s(static_cast<sal_Char>(nOp1));
+    OUString s(static_cast<sal_Unicode>(nOp1));
     pIosys->Write( s );
     Error( pIosys->GetError() );
 }


More information about the Libreoffice-commits mailing list