WPXStringStream

Fridrich Strba fridrich.strba at graduateinstitute.ch
Wed Mar 13 04:52:12 PDT 2013


On 12/03/13 15:58, Ivan wrote:
> 1)There is a error in function:
> WPXInputStream *WPXStringStream::getDocumentOLEStream(const char *name);
> "if (!d->buffer.empty())" The first line in this function shouldn't have
> '!' symbol.

Thanks, this is indeed a bug and I thank you for attracting our
attention to it. Now it is fixed in git master of libwpd. Note however
that LibreOffice does not use those libwpd stream implementations, it
uses the WPXSvInputStream that wraps LibreOffice's XInputStream.

> 2)WPXMemoryInputStream class doesn't have an OLE Stream implementation.
> I think this thing shoudn't depend on the type of Stream. It's better to
> make one function implementation in base WPXInputStream class.

This is just purely internal libwpd's stream implementation that helps
us to keep embedded subdocuments (footnotes, text boxes, ...) around. It
does never embed any structured document whatsoever. So, there is no
need to implement those two functions relative to structured documents.

Note that WPXInputStream is a purely virtual interface that must be
implemented by the client. The WPXStringStream and WPXFileStream are
provided implementations that libwpd and dependent libraries use for
command-line tools. However, AbiWord or LibreOffice (to name only two of
consumers) have their own implementation

> 3)I tried to compile the "libvisio" library in widows an I used "libwpd"
> twice
> 
> There are two folders with same code in my project: "libwpd-stream" and
> "libwpd".
> The files inside are the same from libwpd. What about using "#include
> <libwpd/libwpd-stream.h>" instead of "#include
> <libwpd-stream/libwpd-stream.h>"?

It is a design decision that all headers that concern the stream
implementation are in libwpd-stream directory, as there is also a
libwpd-stream.so/dylib/dll library for those courtesy implementations,
and all the headers of the core libwpd are in libwpd directory. Note
that the two libraries, libwpd and libwpd-stream don't link each other.
Only libwpd proper uses the WPXInputStream.h header from libwpd-stream.

> 4)Where can I download libxml source?

http://xmlsoft.org

Cheers

Fridrich



More information about the LibreOffice mailing list