[Libreoffice-commits] core.git: Branch 'aoo/trunk' - io/source

Jürgen Schmidt jsc at apache.org
Mon Oct 21 09:09:22 PDT 2013


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

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

    #75731# check output stream and throw IOExceptioin if it is not intiliazed

diff --git a/io/source/TextOutputStream/TextOutputStream.cxx b/io/source/TextOutputStream/TextOutputStream.cxx
index 878a185..e2ac57e 100644
--- a/io/source/TextOutputStream/TextOutputStream.cxx
+++ b/io/source/TextOutputStream/TextOutputStream.cxx
@@ -74,6 +74,7 @@ class OTextOutputStream : public TextOutputStreamHelper
     rtl_UnicodeToTextContext    mContextUnicode2Text;
 
     Sequence<sal_Int8> implConvert( const OUString& rSource );
+    void checkOutputStream() throw(IOException);
 
 public:
     OTextOutputStream();
@@ -174,6 +175,7 @@ Sequence<sal_Int8> OTextOutputStream::implConvert( const OUString& rSource )
 void OTextOutputStream::writeString( const OUString& aString )
     throw(IOException, RuntimeException)
 {
+    checkOutputStream();
     if( !mbEncodingInitialized )
     {
         OUString aUtf8Str( RTL_CONSTASCII_USTRINGPARAM("utf8") );
@@ -205,22 +207,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(RTL_CONSTASCII_USTRINGPARAM("output stream is not initialized, you have to use setOutputStream first")),
+            Reference<XInterface>());
+}
+
+
 //===========================================================================
 // XActiveDataSource
 


More information about the Libreoffice-commits mailing list