[Libreoffice-commits] .: 2 commits - libwpd/libwpd.corruptedprefix.patch libwpd/libwpd.warnings.patch libwpd/makefile.mk
Fridrich Strba
fridrich at kemper.freedesktop.org
Fri Apr 1 06:40:50 PDT 2011
libwpd/libwpd.corruptedprefix.patch | 107 ++++++++++++++++++++++++++++++++++++
libwpd/libwpd.warnings.patch | 32 ++++++++++
libwpd/makefile.mk | 4 +
3 files changed, 142 insertions(+), 1 deletion(-)
New commits:
commit 58078cab653a7a553dcccd55500da5a15e88c6e2
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Fri Apr 1 15:40:20 2011 +0200
Silence some unreachable code warnings
diff --git a/libwpd/libwpd.warnings.patch b/libwpd/libwpd.warnings.patch
new file mode 100644
index 0000000..ebc86dc
--- /dev/null
+++ b/libwpd/libwpd.warnings.patch
@@ -0,0 +1,32 @@
+--- misc/libwpd-0.9.1/src/lib/libwpd_internal.cpp
++++ misc/build/libwpd-0.9.1/src/lib/libwpd_internal.cpp
+@@ -998,21 +998,25 @@ _WPXColumnProperties::_WPXColumnProperties()
+ // HACK: this function is really cheesey
+ int _extractNumericValueFromRoman(const char romanChar)
+ {
++ int retValue = 0;
+ switch (romanChar)
+ {
+ case 'I':
+ case 'i':
+- return 1;
++ retValue = 1;
++ break;
+ case 'V':
+ case 'v':
+- return 5;
++ retValue = 5;
++ break;
+ case 'X':
+ case 'x':
+- return 10;
++ retValue = 10;
++ break;
+ default:
+ throw ParseException();
+ }
+- return 1;
++ return retValue;
+ }
+
+ // _extractDisplayReferenceNumberFromBuf: given a nuWP6_DEFAULT_FONT_SIZEmber string in UCS2 represented
diff --git a/libwpd/makefile.mk b/libwpd/makefile.mk
index 717facb..6ecbbfa 100644
--- a/libwpd/makefile.mk
+++ b/libwpd/makefile.mk
@@ -44,7 +44,8 @@ TARGET=wpd
TARFILE_NAME=libwpd-0.9.1
TARFILE_MD5=5ff846847dab351604ad859e2fd4ed3c
PATCH_FILES=libwpd.gcc460.patch \
- libwpd.corruptedprefix.patch
+ libwpd.corruptedprefix.patch \
+ libwpd.warnings.patch
BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
BUILD_DIR=src$/lib
commit fa4d56eb733b1d21b688320e37f5ab0565398af4
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Fri Apr 1 15:37:55 2011 +0200
Handle corrupted WP6 prefixes graciously
diff --git a/libwpd/libwpd.corruptedprefix.patch b/libwpd/libwpd.corruptedprefix.patch
new file mode 100644
index 0000000..1fa051f
--- /dev/null
+++ b/libwpd/libwpd.corruptedprefix.patch
@@ -0,0 +1,107 @@
+--- misc/libwpd-0.9.1/src/lib/WP6PrefixDataPacket.cpp
++++ misc/build/libwpd-0.9.1/src/lib/WP6PrefixDataPacket.cpp
+@@ -46,45 +46,67 @@ WP6PrefixDataPacket::WP6PrefixDataPacket(WPXInputStream * /* input */, WPXEncryp
+ }
+
+ WP6PrefixDataPacket * WP6PrefixDataPacket::constructPrefixDataPacket(WPXInputStream * input, WPXEncryption *encryption, WP6PrefixIndice *prefixIndice)
+-{
+- switch (prefixIndice->getType())
++{
++ WP6PrefixDataPacket *tmpPacket = 0;
++ try
++ {
++ switch (prefixIndice->getType())
++ {
++ case WP6_INDEX_HEADER_INITIAL_FONT:
++ tmpPacket = new WP6DefaultInitialFontPacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_GENERAL_WORDPERFECT_TEXT:
++ tmpPacket = new WP6GeneralTextPacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_DESIRED_FONT_DESCRIPTOR_POOL:
++ tmpPacket = new WP6FontDescriptorPacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_FILL_STYLE:
++ tmpPacket = new WP6FillStylePacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY:
++ tmpPacket = new WP6ExtendedDocumentSummaryPacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_OUTLINE_STYLE:
++ tmpPacket = new WP6OutlineStylePacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_GRAPHICS_FILENAME:
++ tmpPacket = new WP6GraphicsFilenamePacket(input, encryption, prefixIndice->getID(), prefixIndice->getFlags(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_GRAPHICS_CACHED_FILE_DATA:
++ tmpPacket = new WP6GraphicsCachedFileDataPacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_GRAPHICS_BOX_STYLE:
++ tmpPacket = new WP6GraphicsBoxStylePacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_TABLE_STYLE:
++ tmpPacket = new WP6TableStylePacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ case WP6_INDEX_HEADER_COMMENT_ANNOTATION:
++ tmpPacket = new WP6CommentAnnotationPacket(input, encryption, prefixIndice->getID(),
++ prefixIndice->getDataOffset(), prefixIndice->getDataSize());
++ break;
++ default:
++ break;;
++ }
++ }
++ catch (FileException)
+ {
+- case WP6_INDEX_HEADER_INITIAL_FONT:
+- return new WP6DefaultInitialFontPacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_GENERAL_WORDPERFECT_TEXT:
+- return new WP6GeneralTextPacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_DESIRED_FONT_DESCRIPTOR_POOL:
+- return new WP6FontDescriptorPacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_FILL_STYLE:
+- return new WP6FillStylePacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_EXTENDED_DOCUMENT_SUMMARY:
+- return new WP6ExtendedDocumentSummaryPacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_OUTLINE_STYLE:
+- return new WP6OutlineStylePacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_GRAPHICS_FILENAME:
+- return new WP6GraphicsFilenamePacket(input, encryption, prefixIndice->getID(), prefixIndice->getFlags(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_GRAPHICS_CACHED_FILE_DATA:
+- return new WP6GraphicsCachedFileDataPacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_GRAPHICS_BOX_STYLE:
+- return new WP6GraphicsBoxStylePacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_TABLE_STYLE:
+- return new WP6TableStylePacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- case WP6_INDEX_HEADER_COMMENT_ANNOTATION:
+- return new WP6CommentAnnotationPacket(input, encryption, prefixIndice->getID(),
+- prefixIndice->getDataOffset(), prefixIndice->getDataSize());
+- default:
+- return 0;
++ if (tmpPacket)
++ delete tmpPacket;
++ tmpPacket = 0;
+ }
++ return tmpPacket;
+ }
+
+ void WP6PrefixDataPacket::_read(WPXInputStream *input, WPXEncryption *encryption, uint32_t dataOffset, uint32_t dataSize)
diff --git a/libwpd/makefile.mk b/libwpd/makefile.mk
index 40b186d..717facb 100644
--- a/libwpd/makefile.mk
+++ b/libwpd/makefile.mk
@@ -43,7 +43,8 @@ TARGET=wpd
TARFILE_NAME=libwpd-0.9.1
TARFILE_MD5=5ff846847dab351604ad859e2fd4ed3c
-PATCH_FILES=libwpd.gcc460.patch
+PATCH_FILES=libwpd.gcc460.patch \
+ libwpd.corruptedprefix.patch
BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
BUILD_DIR=src$/lib
More information about the Libreoffice-commits
mailing list