https://bz.apache.org/ooo/show_bug.cgi?id=126720

--- Comment #4 from dam...@apache.org ---
Where in the code does this problem occur, and how can we fix it?

main/oox/source/xls/workbookfragment.cxx does this:

---snip---
    // read the shared string table substream (requires finalized styles
buffer)
    OUString aSstFragmentPath = getFragmentPathFromFirstType(
CREATE_OFFICEDOC_RELATION_TYPE( "sharedStrings" ) );
    if( aSstFragmentPath.getLength() > 0 )
        importOoxFragment( new SharedStringsFragment( *this, aSstFragmentPath )
);
---snip---

Debugging that code:

Thread 1 hit Breakpoint 1, oox::xls::WorkbookFragment::finalizeImport
(this=0x80dc9ed00) at source/xls/workbookfragment.cxx:208
208         if( aSstFragmentPath.getLength() > 0 )
(gdb) print dbg_dump(aSstFragmentPath)
$1 = (const sal_Char *) 0x80a0ef168 "xl/sharedStrings.xml"


Eventually we get as far as this, trying to open that xl/sharedStrings.xml:


#0  OStorage::OpenStreamElement_Impl(rtl::OUString const&, int, unsigned char)
(this=this@entry=0x80dca4bc0, aStreamName=..., nOpenMode=nOpenMode@entry=1,
bEncr=bEncr@entry=0 '\000') at source/xstor/xstorage.cxx:2204
#1  0x000000080e0761d5 in OStorage::openStreamElement(rtl::OUString const&,
int) (this=0x80dca4bc0, aStreamName=..., nOpenMode=1) at
source/xstor/xstorage.cxx:2507
#2  0x000000080e076ab2 in non-virtual thunk to
OStorage::openStreamElement(rtl::OUString const&, int) ()
    at
instsetoo_native/unxfbsdx/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libxstor.so
#3  0x000000080e60c795 in oox::ZipStorage::implOpenInputStream(rtl::OUString
const&) (this=<optimized out>, rElementName=...) at
source/helper/zipstorage.cxx:171
#4  0x000000080e609cb9 in oox::StorageBase::openInputStream(rtl::OUString
const&) (this=0x80dc4b030, rStreamName=...) at
source/helper/storagebase.cxx:164
#5  0x000000080e609c70 in oox::StorageBase::openInputStream(rtl::OUString
const&) (this=0x80db770f0, rStreamName=...) at
source/helper/storagebase.cxx:160
#6  0x000000080e4f9889 in oox::core::FilterBase::openInputStream(rtl::OUString
const&) const (this=<optimized out>, rStreamName=...) at
source/core/filterbase.cxx:370
#7  0x000000080e50340f in oox::core::FragmentHandler::openFragmentStream()
const (this=0x80dc73c00) at source/core/fragmenthandler.cxx:123
#8  0x000000080e5096c2 in
oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler>
const&) (this=0x80daff000, rxHandler=...) at source/core/xmlfilterbase.cxx:208
#9  0x000000080e70ecf3 in oox::xls::WorkbookFragment::finalizeImport()
(this=0x80dca4b20) at source/xls/workbookfragment.cxx:209


Then an exception is thrown, because it's not found.

Now where best to scan the zip file for names with different casing?

-- 
You are receiving this mail because:
You are the assignee for the issue.

Reply via email to