Kaydet (Commit) fd44b28e authored tarafından Luboš Luňák's avatar Luboš Luňák

what a convoluted way to split path into dir and file; and broken, too

This should make it handle paths with spaces properly.

Change-Id: Ic4e36449435e1bab2441ea011ccea018f14b98cf
üst 706d1936
...@@ -1049,9 +1049,10 @@ int PrintFontManager::getDirectoryAtom( const OString& rDirectory, bool bCreate ...@@ -1049,9 +1049,10 @@ int PrintFontManager::getDirectoryAtom( const OString& rDirectory, bool bCreate
std::vector<fontID> PrintFontManager::addFontFile( const ::rtl::OString& rFileName ) std::vector<fontID> PrintFontManager::addFontFile( const ::rtl::OString& rFileName )
{ {
rtl_TextEncoding aEncoding = osl_getThreadTextEncoding(); rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
INetURLObject aPath( OStringToOUString( rFileName, aEncoding ), INET_PROT_FILE, INetURLObject::ENCODE_ALL ); INetURLObject aPath( OStringToOUString( rFileName, aEncoding ), INetURLObject::FSYS_DETECT );
OString aName( OUStringToOString( aPath.GetName(), aEncoding ) ); OString aName( OUStringToOString( aPath.GetName( INetURLObject::DECODE_WITH_CHARSET, aEncoding ), aEncoding ) );
OString aDir( OUStringToOString( aPath.GetPath(), aEncoding ) ); OString aDir( OUStringToOString(
INetURLObject::decode( aPath.GetPath(), '%', INetURLObject::DECODE_WITH_CHARSET, aEncoding ), aEncoding ) );
int nDirID = getDirectoryAtom( aDir, true ); int nDirID = getDirectoryAtom( aDir, true );
std::vector<fontID> aFontIds = findFontFileIDs( nDirID, aName ); std::vector<fontID> aFontIds = findFontFileIDs( nDirID, aName );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment