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

Jürgen Schmidt jsc at apache.org
Tue Oct 22 05:17:35 PDT 2013


 io/source/TextOutputStream/TextOutputStream.cxx |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

New commits:
commit ed445d95eda257aef5efeb4ed55ceb43a00b8343
Author: Jürgen Schmidt <jsc at apache.org>
Date:   Mon Oct 21 15:55:06 2013 +0000

    Resolves: #i75731# check output stream and...
    
    throw IOExceptioin if it is not intialized
    
    (cherry picked from commit cf17f922f01bd75643749a7fd01a03f8167bccee)
    
    Change-Id: I07f6def513ef54b736689bf22565645f0c313982

diff --git a/io/source/TextOutputStream/TextOutputStream.cxx b/io/source/TextOutputStream/TextOutputStream.cxx
index f7d309c..84f9f48 100644
--- a/io/source/TextOutputStream/TextOutputStream.cxx
+++ b/io/source/TextOutputStream/TextOutputStream.cxx
@@ -63,6 +63,7 @@ class OTextOutputStream : public TextOutputStreamHelper
     rtl_UnicodeToTextContext    mContextUnicode2Text;
 
     Sequence<sal_Int8> implConvert( const OUString& rSource );
+    void checkOutputStream() throw(IOException);
 
 public:
     OTextOutputStream();
@@ -163,6 +164,7 @@ Sequence<sal_Int8> OTextOutputStream::implConvert( const OUString& rSource )
 void OTextOutputStream::writeString( const OUString& aString )
     throw(IOException, RuntimeException)
 {
+    checkOutputStream();
     if( !mbEncodingInitialized )
     {
         OUString aUtf8Str("utf8");
@@ -194,22 +196,35 @@ void OTextOutputStream::setEncoding( const OUString& Encoding )
 void OTextOutputStream::writeBytes( const Sequence< sal_Int8 >& aData )
     throw(NotConnectedException, BufferSizeExceededException, IOException, RuntimeException)
 {
+    checkOutputStream();
     mxStream->writeBytes( aData );
 }
 
 void OTextOutputStream::flush(  )
     throw(NotConnectedException, BufferSizeExceededException, IOException, RuntimeException)
 {
+    checkOutputStream();
     mxStream->flush();
 }
 
 void OTextOutputStream::closeOutput(  )
     throw(NotConnectedException, BufferSizeExceededException, IOException, RuntimeException)
 {
+    checkOutputStream();
     mxStream->closeOutput();
 }
 
 
+void OTextOutputStream::checkOutputStream()
+    throw(IOException)
+{
+    if (! mxStream.is() )
+        throw IOException(
+            OUString("output stream is not initialized, you have to use setOutputStream first"),
+            Reference<XInterface>());
+}
+
+
 //===========================================================================
 // XActiveDataSource
 


More information about the Libreoffice-commits mailing list