diff options
author | Andreas Bille <abi@openoffice.org> | 2001-07-16 10:53:40 +0000 |
---|---|---|
committer | Andreas Bille <abi@openoffice.org> | 2001-07-16 10:53:40 +0000 |
commit | cb0e9be473f0609d19358eb4b1f54f7b82e93973 (patch) | |
tree | 538ada393f1affac42636ce2b93c3ddd0c5301ce /ucb/source/ucp/file/filstr.cxx | |
parent | 072e9a952e94e53928d768cea5d00844fbbad03d (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.cxx | 10 |
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; } |