summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/file/filstr.cxx
diff options
context:
space:
mode:
authorAndreas Bille <abi@openoffice.org>2001-07-16 10:53:40 +0000
committerAndreas Bille <abi@openoffice.org>2001-07-16 10:53:40 +0000
commitcb0e9be473f0609d19358eb4b1f54f7b82e93973 (patch)
tree538ada393f1affac42636ce2b93c3ddd0c5301ce /ucb/source/ucp/file/filstr.cxx
parent072e9a952e94e53928d768cea5d00844fbbad03d (diff)
#89377#
Now creating file if not existent
Diffstat (limited to 'ucb/source/ucp/file/filstr.cxx')
-rw-r--r--ucb/source/ucp/file/filstr.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/ucb/source/ucp/file/filstr.cxx b/ucb/source/ucp/file/filstr.cxx
index 461e079aa5..d93870e91a 100644
--- a/ucb/source/ucp/file/filstr.cxx
+++ b/ucb/source/ucp/file/filstr.cxx
@@ -61,8 +61,12 @@ XStream_impl::XStream_impl( shell* pMyShell,const rtl::OUString& aUncPath )
m_nErrorCode( TASKHANDLER_NO_ERROR ),
m_nMinorErrorCode( TASKHANDLER_NO_ERROR )
{
- osl::FileBase::RC err = m_aFile.open( OpenFlag_Read | OpenFlag_Write );
- if( err != osl::FileBase::E_None )
+ osl::FileBase::RC err,d;
+ if(( err = d = m_aFile.open(OpenFlag_Read | OpenFlag_Write)) == osl::FileBase::E_None ||
+ ( d == osl::FileBase::E_NOENT &&
+ ( err = m_aFile.open(OpenFlag_Read | OpenFlag_Write | OpenFlag_Create)) == osl::FileBase::E_None ))
+ m_nIsOpen = true;
+ else
{
m_nIsOpen = false;
m_aFile.close();
@@ -70,8 +74,6 @@ XStream_impl::XStream_impl( shell* pMyShell,const rtl::OUString& aUncPath )
m_nErrorCode = TASKHANDLING_OPEN_FOR_STREAM;
m_nMinorErrorCode = err;
}
- else
- m_nIsOpen = true;
}