summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Schönheit <fs@openoffice.org>2010-01-07 09:56:59 +0000
committerFrank Schönheit <fs@openoffice.org>2010-01-07 09:56:59 +0000
commitd1e4caf97326f1712f08627136248e5899962a33 (patch)
tree58666bdfebdf6d05c31b9a843b51270b14bff45d
parentb563751faf2c78210a7a14e787ba522469397475 (diff)
#i108123# getDataSourcePrefixFromMediaType: care for types where the config says 'no extension', but the actual file contains an extension
-rw-r--r--dbaccess/source/core/misc/dsntypes.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/dbaccess/source/core/misc/dsntypes.cxx b/dbaccess/source/core/misc/dsntypes.cxx
index f81dc020b05f..90294dd59869 100644
--- a/dbaccess/source/core/misc/dsntypes.cxx
+++ b/dbaccess/source/core/misc/dsntypes.cxx
@@ -185,7 +185,7 @@ String ODsnTypeCollection::getMediaType(const ::rtl::OUString& _sURL) const
// -----------------------------------------------------------------------------
String ODsnTypeCollection::getDatasourcePrefixFromMediaType(const ::rtl::OUString& _sMediaType,const ::rtl::OUString& _sExtension)
{
- String sURL;
+ String sURL, sFallbackURL;
const uno::Sequence< ::rtl::OUString > aURLs = m_aDriverConfig.getURLs();
const ::rtl::OUString* pIter = aURLs.getConstArray();
const ::rtl::OUString* pEnd = pIter + aURLs.getLength();
@@ -200,8 +200,14 @@ String ODsnTypeCollection::getDatasourcePrefixFromMediaType(const ::rtl::OUStrin
sURL = *pIter;
break;
}
+ if ( !sFileExtension.getLength() && _sExtension.getLength() )
+ sFallbackURL = *pIter;
}
} // for(;pIter != pEnd;++pIter )
+
+ if ( !sURL.Len() && sFallbackURL.Len() )
+ sURL = sFallbackURL;
+
sURL.EraseTrailingChars('*');
return sURL;
}