29 Commits
morty ... rocko

Author SHA1 Message Date
Andreas Müller
2043da8924 layer.conf: add LAYERSERIES_COMPAT
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-04-06 23:42:18 +02:00
Andreas Müller
3213948baf libvisio: update 0.1.5 -> 0.1.6
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-30 13:08:54 +01:00
Andreas Müller
6ee9e8439e libetonyek: update 0.1.6 -> 0.1.7
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-30 13:06:11 +01:00
Andreas Müller
a1dc339d5c mdds-1: update 1.1.0 -> 1.3.1
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-30 12:56:58 +01:00
Andreas Müller
f81723d9f1 libfreehand: update 0.1.1 -> 0.1.2
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-30 12:47:46 +01:00
Andreas Müller
7c3bff3016 libreoffice.inc: disable verbosity explicitly to cause effect
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-30 11:53:28 +01:00
Andreas Müller
d78a7087b0 Revert "glm: remove - a later version is in meta-oe"
This reverts commit 09a852e097.
2017-11-30 11:26:42 +01:00
Andreas Müller
09a852e097 glm: remove - a later version is in meta-oe
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-30 11:22:04 +01:00
Andreas Müller
7d90f3a07d libreoffice.inc: reduce build time / log file size by removing --enable-verbose
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-27 13:16:00 +01:00
Andreas Müller
59f3860a0d libreoffice-native: remove --enable-verbose - it is set in libreoffice.inc
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2017-11-27 12:36:42 +01:00
Andreas Müller
eb8155f118 libcdr: update 0.1.3 -> 0.1.4
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-09-16 01:16:37 +02:00
Andreas Müller
975ea1f058 libreoffice: fix typo detected by gcc7
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-07-06 16:53:16 +02:00
Andreas Müller
ca9b08b16b libcmis: fix build for gcc7
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-07-06 11:03:56 +02:00
Andreas Müller
78d6327e93 libwps: fix build - really..
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-07-06 10:35:53 +02:00
Andreas Müller
208199c5e7 libwps: fix build with gcc7
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-07-06 10:27:09 +02:00
Andreas Müller
8bcb0f2464 libmwaw: update 0.3.8 -> 0.3.11 and backport patches for gcc7 build fix
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-07-06 09:03:06 +02:00
Andreas Müller
ebbc72bc2d libwps: update 0.4.3 -> 0.4.6
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-07-06 08:57:46 +02:00
Andreas Müller
38102a2b59 libreoffice-native: add unzip-native and neon-native to DEPENDS
This was suggested in [1-2]

[1] https://github.com/schnitzeltony/meta-office/issues/4
[2] http://barryk.org/news/?viewDetailed=00530

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-05-13 21:09:38 +02:00
Andreas Müller
0d87af4b7f libreoffice: fix build with latest hunspell
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-04-15 12:00:33 +02:00
Andreas Müller
2c342c11ce libreoffice: fix build with rssi oe-core
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-04-15 01:04:12 +02:00
Andreas Müller
f2c371106b archive-zip: avoid overwriting inherited DEPENDS
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-04-14 22:06:08 +02:00
Andreas Müller
b20846ca1a rasqal: fix build
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-02-11 23:43:47 +01:00
Andreas Müller
11add7d381 libfreehand: add gperf-native to DEPENDS
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-02-11 23:00:31 +01:00
Andreas Müller
d8be674284 libe-book: add gperf-native to DEPENDS
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-02-11 22:56:03 +01:00
Andreas Müller
7c35493bd1 libabw: add gperf-native to DEPENDS
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-02-10 23:59:15 +01:00
Andreas Müller
c1d134ef01 raptor2: remove
it is in meta-oe now

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-02-10 23:22:04 +01:00
Andreas Müller
3b03300953 glm: update 0.9.7.1 -> 0.9.8.3
Licence checksum was changed by changin copyright year

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-01-12 00:40:04 +01:00
Andreas Müller
29b5e27c27 libreoffice: update to 5.0.6.3
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-12-08 19:50:56 +01:00
Andreas Müller
2b67b6b7fb libreoffice: fix build for icu 58
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-12-06 14:38:45 +01:00
33 changed files with 2417 additions and 167 deletions

View File

@@ -6,3 +6,5 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "office-layer"
BBFILE_PATTERN_office-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_office-layer = "7"
LAYERSERIES_COMPAT_office-layer = "rocko"

View File

@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "ede64f6c8ecad7360fe5d8b20379f8a09afe7e7ba5f39fa10e933e7985
inherit cpan
DEPENDS = "zlib"
DEPENDS += "zlib"
S = "${WORKDIR}/Archive-Zip-${PV}_${PATCHREV}"

View File

@@ -11,6 +11,10 @@ SRC_URI[sha256sum] = "cfc698c2dd4ab592138a941ae26e2e18c3dac69bc196b5167df7f5eb88
inherit autotools pkgconfig
DEPENDS = "libxml2 librevenge"
DEPENDS = " \
gperf-native \
libxml2 \
librevenge \
"
BBCLASSEXTEND = "native"

View File

@@ -5,9 +5,9 @@ LIC_FILES_CHKSUM = " \
file://COPYING.MPL;md5=815ca599c9df247a0c7f619bab123dad \
"
SRC_URI = "http://dev-www.libreoffice.org/src/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "e369f30b5b861ee0fc4f9e6cbad701fe"
SRC_URI[sha256sum] = "5160bbbfefe52bd4880840fad2b07a512813e37bfaf8ccac062fca238f230f4d"
SRC_URI = "http://dev-www.libreoffice.org/src/libcdr/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "4e52342983d798ae584e26bdf7a5f18a"
SRC_URI[sha256sum] = "e7a7e8b00a3df5798110024d7061fe9d1c3330277d2e4fa9213294f966a4a66d"
inherit autotools pkgconfig

View File

@@ -14,6 +14,6 @@ SRC_URI[sha256sum] = "7f894b1538b71c6cd96c976069c4dadb38b623612f0e35b2f6ee8a2c46
inherit autotools pkgconfig
DEPENDS = "icu libxml2 librevenge boost-native"
DEPENDS = "icu libxml2 librevenge boost-native gperf-native"
BBCLASSEXTEND = "native"

View File

@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = " \
file://COPYING;md5=815ca599c9df247a0c7f619bab123dad \
"
SRC_URI = "http://dev-www.libreoffice.org/src/${BPN}/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "dfe25b0c7739283a5c61a930ea1f9bf8"
SRC_URI[sha256sum] = "df54271492070fbcc6aad9f81ca89658b25dd106cc4ab6b04b067b7a43dcc078"
SRC_URI[md5sum] = "3088732de0028b1340668b8a3caf3c25"
SRC_URI[sha256sum] = "69dbe10d4426d52f09060d489f8eb90dfa1df592e82eb0698d9dbaf38cc734ac"
inherit autotools pkgconfig

View File

@@ -5,11 +5,11 @@ LIC_FILES_CHKSUM = " \
file://COPYING;md5=815ca599c9df247a0c7f619bab123dad \
"
SRC_URI = "http://dev-www.libreoffice.org/src/${BPN}/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "97eb6a8607de3c101ad05ceacc122107"
SRC_URI[sha256sum] = "ec6676d0c63f7feac7801a1fe18dd7abe9044b39c3882fc99b9afef39bdf1d30"
SRC_URI[md5sum] = "c3788f5686839fd097bd77d8f51c3d04"
SRC_URI[sha256sum] = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac"
inherit autotools pkgconfig
DEPENDS = "icu lcms librevenge"
DEPENDS = "icu lcms librevenge gperf-native"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,682 @@
From d64c828a70514147622fab3049ffad93449e7750 Mon Sep 17 00:00:00 2001
From: osnola <alonso@loria.fr>
Date: Sun, 2 Jul 2017 10:03:30 +0200
Subject: [PATCH 1/2] gcc7: try to correct some warnings...
---
autogen.sh | 2 +-
src/lib/BeagleWksDBParser.cxx | 1 +
src/lib/ClarisDrawText.cxx | 3 ++-
src/lib/ClarisWksText.cxx | 3 ++-
src/lib/HanMacWrdJParser.cxx | 4 ++--
src/lib/HanMacWrdKGraph.cxx | 1 +
src/lib/HanMacWrdKParser.cxx | 5 +++--
src/lib/MWAWCell.cxx | 2 ++
src/lib/MWAWChart.cxx | 1 +
src/lib/MWAWGraphicListener.cxx | 4 ++--
src/lib/MWAWGraphicShape.cxx | 2 +-
src/lib/MWAWPageSpan.cxx | 1 +
src/lib/MWAWPresentationListener.cxx | 4 ++--
src/lib/MWAWSpreadsheetListener.cxx | 8 ++++----
src/lib/MWAWTextListener.cxx | 10 +++++-----
src/lib/MacDraft5Parser.cxx | 2 +-
src/lib/MacDrawProParser.cxx | 4 ++--
src/lib/MacDrawProStyleManager.cxx | 4 ++--
src/lib/MarinerWrtGraph.cxx | 3 ++-
src/lib/MarinerWrtText.cxx | 2 +-
src/lib/MoreText.cxx | 1 +
src/lib/MsWksDBParser.cxx | 1 +
src/lib/MsWksGraph.cxx | 5 +++--
src/lib/MsWksSSParser.cxx | 1 +
src/lib/PowerPoint1Parser.cxx | 2 +-
src/lib/PowerPoint3Parser.cxx | 2 +-
src/lib/RagTime5Graph.cxx | 2 +-
src/lib/RagTime5Parser.cxx | 2 +-
src/lib/RagTimeSpreadsheet.cxx | 8 ++++----
src/lib/WriterPlsParser.cxx | 2 +-
src/lib/ZWrtText.cxx | 1 +
src/lib/libmwaw_internal.cxx | 7 +++++--
src/lib/libmwaw_internal.hxx | 15 +++++++++++++++
33 files changed, 74 insertions(+), 41 deletions(-)
diff --git a/autogen.sh b/autogen.sh
index aededbc..3182b42 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -21,7 +21,7 @@ for i in $TESTLIBTOOLIZE; do
done
if [ "$LIBTOOLIZEFOUND" = "0" ]; then
- echo "$0: need libtoolize tool to build lilbmwaw" >&2
+ echo "$0: need libtoolize tool to build libmwaw" >&2
exit 1
fi
diff --git a/src/lib/BeagleWksDBParser.cxx b/src/lib/BeagleWksDBParser.cxx
index 3e6ce53..efaf283 100644
--- a/src/lib/BeagleWksDBParser.cxx
+++ b/src/lib/BeagleWksDBParser.cxx
@@ -1009,6 +1009,7 @@ bool BeagleWksDBParser::readRow()
if (fSz>20) break;
val=static_cast<int>(input->readULong(2));
if (val) f << "g0=" << std::hex << val << std::dec << ",";
+ FALLTHROUGH;
case BeagleWksDBParserInternal::Cell::Memo: // memoId
case BeagleWksDBParserInternal::Cell::Picture: // pictId
case BeagleWksDBParserInternal::Cell::Number:
diff --git a/src/lib/ClarisDrawText.cxx b/src/lib/ClarisDrawText.cxx
index aef88d4..f032414 100644
--- a/src/lib/ClarisDrawText.cxx
+++ b/src/lib/ClarisDrawText.cxx
@@ -520,7 +520,7 @@ shared_ptr<ClarisWksStruct::DSET> ClarisDrawText::readDSETZone(ClarisWksStruct::
textZone->m_position = ClarisWksStruct::DSET::P_Main;
break;
}
- // fail through intended
+ FALLTHROUGH;
default:
MWAW_DEBUG_MSG(("ClarisDrawText::readDSETZone: find unknown position %d\n", (textZone->m_textType >> 4)));
f << "#position="<< (textZone->m_textType >> 4) << ",";
@@ -1358,6 +1358,7 @@ bool ClarisDrawText::sendText(ClarisDrawTextInternal::DSET const &zone, int subZ
}
MWAW_DEBUG_MSG(("ClarisDrawText::sendText: Find unexpected char 1\n"));
f << "###";
+ FALLTHROUGH;
case 0xb: // page break
MWAW_DEBUG_MSG(("ClarisDrawText::sendText: Find unexpected page break\n"));
f << "###pb";
diff --git a/src/lib/ClarisWksText.cxx b/src/lib/ClarisWksText.cxx
index 6b3eb0b..41bf87d 100644
--- a/src/lib/ClarisWksText.cxx
+++ b/src/lib/ClarisWksText.cxx
@@ -754,7 +754,7 @@ shared_ptr<ClarisWksStruct::DSET> ClarisWksText::readDSETZone(ClarisWksStruct::D
textZone->m_position = ClarisWksStruct::DSET::P_Main;
break;
}
- // fail through intended
+ FALLTHROUGH;
default:
MWAW_DEBUG_MSG(("ClarisWksText::readDSETZone: find unknown position %d\n", (textZone->m_textType >> 4)));
f << "#position="<< (textZone->m_textType >> 4) << ",";
@@ -1788,6 +1788,7 @@ bool ClarisWksText::sendText(ClarisWksTextInternal::Zone const &zone, MWAWListen
}
MWAW_DEBUG_MSG(("ClarisWksText::sendText: Find unexpected char 1\n"));
f << "###";
+ FALLTHROUGH;
case 0xb: // page break
numSectionInPage = 0;
if (main)
diff --git a/src/lib/HanMacWrdJParser.cxx b/src/lib/HanMacWrdJParser.cxx
index 166125f..2f7680d 100644
--- a/src/lib/HanMacWrdJParser.cxx
+++ b/src/lib/HanMacWrdJParser.cxx
@@ -650,8 +650,8 @@ bool HanMacWrdJParser::readPrintInfo(MWAWEntry const &entry)
MWAWVec2i paperSize = info.paper().size();
MWAWVec2i pageSize = info.page().size();
- bool useDocInfo = (dim[3]-dim[1]>margins[2]+margins[0]) &&
- (dim[2]-dim[0]>margins[2]+margins[0]);
+ bool useDocInfo = (float(dim[3]-dim[1])>margins[2]+margins[0]) &&
+ (float(dim[2]-dim[0])>margins[3]+margins[1]);
bool usePrintInfo = pageSize.x() > 0 && pageSize.y() > 0 &&
paperSize.x() > 0 && paperSize.y() > 0;
diff --git a/src/lib/HanMacWrdKGraph.cxx b/src/lib/HanMacWrdKGraph.cxx
index fa4b07d..fe4a3e2 100644
--- a/src/lib/HanMacWrdKGraph.cxx
+++ b/src/lib/HanMacWrdKGraph.cxx
@@ -1260,6 +1260,7 @@ bool HanMacWrdKGraph::sendFrame(HanMacWrdKGraphInternal::Frame const &frame, MWA
return true;
}
}
+ FALLTHROUGH;
case 10:
return sendTextBox(static_cast<HanMacWrdKGraphInternal::TextBox const &>(frame), pos);
case 6: {
diff --git a/src/lib/HanMacWrdKParser.cxx b/src/lib/HanMacWrdKParser.cxx
index 18239f1..ef9bd88 100644
--- a/src/lib/HanMacWrdKParser.cxx
+++ b/src/lib/HanMacWrdKParser.cxx
@@ -507,6 +507,7 @@ bool HanMacWrdKParser::readZone(shared_ptr<HanMacWrdKZone> zone)
case 0xc:
if (readZonec(zone))
return true;
+ FALLTHROUGH;
case 0xd:
if (m_graphParser->readPicture(zone))
return true;
@@ -586,8 +587,8 @@ bool HanMacWrdKParser::readPrintInfo(HanMacWrdKZone &zone)
MWAWVec2i paperSize = info.paper().size();
MWAWVec2i pageSize = info.page().size();
- bool useDocInfo = (dim[3]-dim[1]>margins[2]+margins[0]) &&
- (dim[2]-dim[0]>margins[2]+margins[0]);
+ bool useDocInfo = (float(dim[3]-dim[1])>margins[2]+margins[0]) &&
+ (float(dim[2]-dim[0])>margins[3]+margins[1]);
bool usePrintInfo = pageSize.x() > 0 && pageSize.y() > 0 &&
paperSize.x() > 0 && paperSize.y() > 0;
diff --git a/src/lib/MWAWCell.cxx b/src/lib/MWAWCell.cxx
index f1c5a3e..645ab18 100644
--- a/src/lib/MWAWCell.cxx
+++ b/src/lib/MWAWCell.cxx
@@ -641,6 +641,8 @@ bool MWAWCellContent::double2String(double val, MWAWCell::Format const &format,
time.tm_zone=0;
#endif
char buf[256];
+#pragma GCC diagnostic ignored "-Wformat-y2k"
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
if (mktime(&time)==-1 ||
!strftime(buf, 256, format.m_DTFormat.empty() ? "%m/%d/%y" : format.m_DTFormat.c_str(), &time))
return false;
diff --git a/src/lib/MWAWChart.cxx b/src/lib/MWAWChart.cxx
index 3ca98bd..c9b6e6d 100644
--- a/src/lib/MWAWChart.cxx
+++ b/src/lib/MWAWChart.cxx
@@ -624,6 +624,7 @@ std::ostream &operator<<(std::ostream &o, MWAWChart::TextZone const &zone)
switch (zone.m_type) {
case MWAWChart::TextZone::T_SubTitle:
o << "sub";
+ FALLTHROUGH;
case MWAWChart::TextZone::T_Title:
o << "title";
if (zone.m_contentType==MWAWChart::TextZone::C_Cell)
diff --git a/src/lib/MWAWGraphicListener.cxx b/src/lib/MWAWGraphicListener.cxx
index da8e8e1..6b723e8 100644
--- a/src/lib/MWAWGraphicListener.cxx
+++ b/src/lib/MWAWGraphicListener.cxx
@@ -1480,7 +1480,7 @@ void MWAWGraphicListener::_handleFrameParameters(librevenge::RVNGPropertyList &l
switch (pos.m_yPos) {
case MWAWPosition::YFull:
list.insert("svg:height", double(h), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
list.insert("style:vertical-pos", "from-top");
@@ -1522,7 +1522,7 @@ void MWAWGraphicListener::_handleFrameParameters(librevenge::RVNGPropertyList &l
switch (pos.m_xPos) {
case MWAWPosition::XFull:
list.insert("svg:width", double(w), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
list.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MWAWGraphicShape.cxx b/src/lib/MWAWGraphicShape.cxx
index 22b3c55..f1e7418 100644
--- a/src/lib/MWAWGraphicShape.cxx
+++ b/src/lib/MWAWGraphicShape.cxx
@@ -596,7 +596,7 @@ std::vector<MWAWGraphicShape::PathData> MWAWGraphicShape::getPath(bool forTransf
switch (m_type) {
case Measure:
MWAW_DEBUG_MSG(("MWAWGraphicShape::getPath: called on a measure, transform it in line\n"));
- // fall through expected
+ FALLTHROUGH;
case Line:
case Polygon: {
size_t n=m_vertices.size();
diff --git a/src/lib/MWAWPageSpan.cxx b/src/lib/MWAWPageSpan.cxx
index 79611cf..b1064c4 100644
--- a/src/lib/MWAWPageSpan.cxx
+++ b/src/lib/MWAWPageSpan.cxx
@@ -226,6 +226,7 @@ void MWAWPageSpan::setHeaderFooter(MWAWHeaderFooter const &hF)
switch (hF.m_occurrence) {
case MWAWHeaderFooter::NEVER:
removeHeaderFooter(type, MWAWHeaderFooter::ALL);
+ FALLTHROUGH;
case MWAWHeaderFooter::ALL:
removeHeaderFooter(type, MWAWHeaderFooter::ODD);
removeHeaderFooter(type, MWAWHeaderFooter::EVEN);
diff --git a/src/lib/MWAWPresentationListener.cxx b/src/lib/MWAWPresentationListener.cxx
index 705ca60..23542cd 100644
--- a/src/lib/MWAWPresentationListener.cxx
+++ b/src/lib/MWAWPresentationListener.cxx
@@ -1489,7 +1489,7 @@ void MWAWPresentationListener::_handleFrameParameters(librevenge::RVNGPropertyLi
switch (pos.m_yPos) {
case MWAWPosition::YFull:
list.insert("svg:height", double(h), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
list.insert("style:vertical-pos", "from-top");
@@ -1531,7 +1531,7 @@ void MWAWPresentationListener::_handleFrameParameters(librevenge::RVNGPropertyLi
switch (pos.m_xPos) {
case MWAWPosition::XFull:
list.insert("svg:width", double(w), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
list.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MWAWSpreadsheetListener.cxx b/src/lib/MWAWSpreadsheetListener.cxx
index c8c7592..f454fb8 100644
--- a/src/lib/MWAWSpreadsheetListener.cxx
+++ b/src/lib/MWAWSpreadsheetListener.cxx
@@ -1054,7 +1054,7 @@ void MWAWSpreadsheetListener::insertShape
default:
#endif
MWAW_DEBUG_MSG(("MWAWSpreadsheetListener::insertShape: UNKNOWN position, insert as char position\n"));
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1171,7 +1171,7 @@ bool MWAWSpreadsheetListener::openFrame(MWAWPosition const &pos, MWAWGraphicStyl
break;
case MWAWPosition::Unknown:
MWAW_DEBUG_MSG(("MWAWSpreadsheetListener::openFrame: UNKNOWN position, insert as char position\n"));
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1346,7 +1346,7 @@ void MWAWSpreadsheetListener::_handleFrameParameters
switch (pos.m_yPos) {
case MWAWPosition::YFull:
propList.insert("svg:height", double(h), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
propList.insert("style:vertical-pos", "from-top");
@@ -1388,7 +1388,7 @@ void MWAWSpreadsheetListener::_handleFrameParameters
switch (pos.m_xPos) {
case MWAWPosition::XFull:
propList.insert("svg:width", double(w), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
propList.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MWAWTextListener.cxx b/src/lib/MWAWTextListener.cxx
index 2294d1b..151f64a 100644
--- a/src/lib/MWAWTextListener.cxx
+++ b/src/lib/MWAWTextListener.cxx
@@ -1139,7 +1139,7 @@ void MWAWTextListener::insertShape
default:
#endif
MWAW_DEBUG_MSG(("MWAWTextListener::insertShape: UNKNOWN position, insert as char position\n"));
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1255,7 +1255,7 @@ bool MWAWTextListener::openFrame(MWAWPosition const &pos, MWAWGraphicStyle const
break;
case MWAWPosition::Unknown:
MWAW_DEBUG_MSG(("MWAWTextListener::openFrame: UNKNOWN position, insert as char position\n"));
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1339,7 +1339,7 @@ bool MWAWTextListener::openGroup(MWAWPosition const &pos)
default:
#endif
MWAW_DEBUG_MSG(("MWAWTextListener::openGroup: UNKNOWN position, insert as char position\n"));
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1490,7 +1490,7 @@ void MWAWTextListener::_handleFrameParameters
switch (pos.m_yPos) {
case MWAWPosition::YFull:
propList.insert("svg:height", double(h), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
propList.insert("style:vertical-pos", "from-top");
@@ -1532,7 +1532,7 @@ void MWAWTextListener::_handleFrameParameters
switch (pos.m_xPos) {
case MWAWPosition::XFull:
propList.insert("svg:width", double(w), unit);
- // fallthrough intended
+ FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
propList.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MacDraft5Parser.cxx b/src/lib/MacDraft5Parser.cxx
index 2baeed9..6c11d41 100644
--- a/src/lib/MacDraft5Parser.cxx
+++ b/src/lib/MacDraft5Parser.cxx
@@ -1473,7 +1473,7 @@ bool MacDraft5Parser::readObject(MacDraft5ParserInternal::Layout &layout)
shape->m_shape=MWAWGraphicShape::rectangle(MWAWBox2f(listPts[0], listPts[2]), corner);
break;
}
- // fall through intended
+ FALLTHROUGH;
case 0x3:
case 0x4: {
rotation=0;
diff --git a/src/lib/MacDrawProParser.cxx b/src/lib/MacDrawProParser.cxx
index e8b9b9b..91c70fa 100644
--- a/src/lib/MacDrawProParser.cxx
+++ b/src/lib/MacDrawProParser.cxx
@@ -1310,7 +1310,7 @@ int MacDrawProParser::readObject()
f << "bitmap,";
break;
}
- // fall through intended
+ FALLTHROUGH;
default:
MWAW_DEBUG_MSG(("MacDrawProParser::readObject: find unknown type %d\n", val));
f << "###type=" << std::hex << val << std::dec << ",";
@@ -2230,7 +2230,7 @@ bool MacDrawProParser::readGeometryShapeData(MacDrawProParserInternal::Shape &sh
shape.m_shape.m_path.push_back(MWAWGraphicShape::PathData('L', listVertices.back()));
break;
}
- // fall through intended
+ FALLTHROUGH;
case 9: { // spline
if (remain<=2) {
MWAW_DEBUG_MSG(("MacDrawProParser::readGeometryShapeData: can not read compute the number of point in spline\n"));
diff --git a/src/lib/MacDrawProStyleManager.cxx b/src/lib/MacDrawProStyleManager.cxx
index 88940ce..9fa242b 100644
--- a/src/lib/MacDrawProStyleManager.cxx
+++ b/src/lib/MacDrawProStyleManager.cxx
@@ -2442,7 +2442,7 @@ bool MacDrawProStyleManager::readGradientMap(MWAWEntry const &entry, int N, int
break;
case 1:
gradient.m_type = MWAWGraphicStyle::G_Radial;
- // fall through expected
+ FALLTHROUGH;
case 2: {
if (type==2) gradient.m_type = MWAWGraphicStyle::G_Rectangular;
int dim[4]; // square which defined the center rectangle
@@ -2554,7 +2554,7 @@ bool MacDrawProStyleManager::readGradientPalette(MWAWEntry const &entry, int fie
break;
case 1:
f << "concentric,";
- // fall through expected
+ FALLTHROUGH;
case 2: {
if (type==2) f << "radial,";
int dim[4]; // square which defined the center rectangle
diff --git a/src/lib/MarinerWrtGraph.cxx b/src/lib/MarinerWrtGraph.cxx
index 1444e0f..fc9ecd0 100644
--- a/src/lib/MarinerWrtGraph.cxx
+++ b/src/lib/MarinerWrtGraph.cxx
@@ -130,7 +130,7 @@ struct Token {
switch (m_pictBorderType[i]) {
case 1: // single[w=0.5]
border.m_width = 0.5;
- // fallthrough intended
+ FALLTHROUGH;
case 2:
border.m_style = MWAWBorder::Simple;
break;
@@ -1024,6 +1024,7 @@ bool MarinerWrtGraph::readTokenBlock0(MarinerWrtStruct const &data, MarinerWrtGr
case 0x18:
val = input->readLong(2);
if (val) f << "f0=" << val << ","; // fieldType?
+ FALLTHROUGH;
case 0x19:
case 0x1e:
case 0x1f:
diff --git a/src/lib/MarinerWrtText.cxx b/src/lib/MarinerWrtText.cxx
index a65e033..6d2e097 100644
--- a/src/lib/MarinerWrtText.cxx
+++ b/src/lib/MarinerWrtText.cxx
@@ -235,7 +235,7 @@ MWAWBorder Paragraph::BorderFill::getBorder(int i) const
break;
case 1: // single[w=0.5]
res.m_width = 0.5;
- // fall-through intended
+ FALLTHROUGH;
case 2:
res.m_style = MWAWBorder::Simple;
break;
diff --git a/src/lib/MoreText.cxx b/src/lib/MoreText.cxx
index 8410dbc..c70fc77 100644
--- a/src/lib/MoreText.cxx
+++ b/src/lib/MoreText.cxx
@@ -2050,6 +2050,7 @@ bool MoreText::readTabs(MWAWEntry const &entry, MoreTextInternal::Paragraph &par
break;
case 3: // more large space
f2 << "dot[large],";
+ FALLTHROUGH;
case 2:
tab.m_leaderCharacter = '.';
break;
diff --git a/src/lib/MsWksDBParser.cxx b/src/lib/MsWksDBParser.cxx
index 785162d..1e67458 100644
--- a/src/lib/MsWksDBParser.cxx
+++ b/src/lib/MsWksDBParser.cxx
@@ -1143,6 +1143,7 @@ bool MsWksDBParser::readFormTypes(MsWksDBParserInternal::Form &form)
visible = MsWksDBParserInternal::V_HEADER;
break;
}
+ FALLTHROUGH;
default:
f << "##unkn[visible]=" << hiFlag << ",";
break;
diff --git a/src/lib/MsWksGraph.cxx b/src/lib/MsWksGraph.cxx
index 9ffaf84..bb70d52 100644
--- a/src/lib/MsWksGraph.cxx
+++ b/src/lib/MsWksGraph.cxx
@@ -1227,6 +1227,7 @@ bool MsWksGraph::readPictHeader(MsWksGraphInternal::Zone &pict)
switch (lineFlags&3) {
case 2:
style.m_arrows[0]=MWAWGraphicStyle::Arrow::plain();
+ FALLTHROUGH;
case 1:
style.m_arrows[1]=MWAWGraphicStyle::Arrow::plain();
break;
@@ -1897,7 +1898,7 @@ void MsWksGraph::computePositions(int zoneId, std::vector<int> &linesH, std::vec
h+=middleH;
int p = 0;
while (p < nPages) {
- if (h < pagesH[size_t(p)]) break;
+ if (h < float(pagesH[size_t(p)])) break;
h -= float(pagesH[size_t(p++)]);
}
zone->m_page = p;
@@ -1988,7 +1989,7 @@ bool MsWksGraph::readRB(MWAWInputStreamPtr input, MWAWEntry const &entry, int ki
case 2:
if (input->readLong(1)!=3) return false;
f << "id=" << input->readLong(1) << ",";
- // no jump expected
+ FALLTHROUGH;
case 1: {
unsigned long dSz=input->readULong(4);
beginRB=input->tell();
diff --git a/src/lib/MsWksSSParser.cxx b/src/lib/MsWksSSParser.cxx
index 72efc00..271a5c7 100644
--- a/src/lib/MsWksSSParser.cxx
+++ b/src/lib/MsWksSSParser.cxx
@@ -933,6 +933,7 @@ bool MsWksSSParser::readCell(int sz, MWAWVec2i const &cellPos, MsWksSSParserInte
break;
case 3:
f << "type" << type << ",";
+ FALLTHROUGH;
case 2: //number general
format.m_format=MWAWCell::F_NUMBER;
content.m_contentType=MWAWCellContent::C_FORMULA;
diff --git a/src/lib/PowerPoint1Parser.cxx b/src/lib/PowerPoint1Parser.cxx
index d5ac56b..8796de0 100644
--- a/src/lib/PowerPoint1Parser.cxx
+++ b/src/lib/PowerPoint1Parser.cxx
@@ -2537,7 +2537,7 @@ bool PowerPoint1Parser::sendFrame(PowerPoint1ParserInternal::Frame const &frame,
if (frame.m_type==0)
shape=MWAWGraphicShape::line(fBox[0], fBox[1]);
else {
- if (frame.m_cornerSize >= fBox.size()[0] || frame.m_cornerSize >= fBox.size()[1])
+ if (float(frame.m_cornerSize) >= fBox.size()[0] || float(frame.m_cornerSize) >= fBox.size()[1])
shape=MWAWGraphicShape::circle(fBox);
else
shape=MWAWGraphicShape::rectangle(fBox, MWAWVec2f(float(frame.m_cornerSize)/2.f, float(frame.m_cornerSize)/2.f));
diff --git a/src/lib/PowerPoint3Parser.cxx b/src/lib/PowerPoint3Parser.cxx
index da2c8eb..81b15f2 100644
--- a/src/lib/PowerPoint3Parser.cxx
+++ b/src/lib/PowerPoint3Parser.cxx
@@ -2952,7 +2952,7 @@ bool PowerPoint3Parser::readParagraph(MWAWParagraph &para, PowerPoint3ParserInte
}
val &= 0xbf;
}
- // fall through expected
+ FALLTHROUGH;
default:
if (val)
f << std::hex << val << std::dec << ",";
diff --git a/src/lib/RagTime5Graph.cxx b/src/lib/RagTime5Graph.cxx
index 86da24a..4d0c838 100644
--- a/src/lib/RagTime5Graph.cxx
+++ b/src/lib/RagTime5Graph.cxx
@@ -665,7 +665,7 @@ bool RagTime5Graph::readColorPatternZone(RagTime5ClusterManager::Cluster &cluste
RagTime5ClusterManager::Link const &lnk=cluster.m_linksList[i];
shared_ptr<RagTime5Zone> data=m_mainParser.getDataZone(lnk.m_ids[0]);
if (!data || !data->m_entry.valid()) {
- if (lnk.m_N*lnk.m_fieldSize) {
+ if (lnk.m_N && lnk.m_fieldSize) {
MWAW_DEBUG_MSG(("RagTime5Graph::readColorPatternZone: can not find data zone %d\n", lnk.m_ids[0]));
}
continue;
diff --git a/src/lib/RagTime5Parser.cxx b/src/lib/RagTime5Parser.cxx
index 08f13db..9af4803 100644
--- a/src/lib/RagTime5Parser.cxx
+++ b/src/lib/RagTime5Parser.cxx
@@ -1241,7 +1241,7 @@ bool RagTime5Parser::readClusterLinkList(RagTime5Zone &zone, RagTime5ClusterMana
{
listLinks.clear();
if (!zone.m_entry.valid()) {
- if (link.m_N*link.m_fieldSize) {
+ if (link.m_N && link.m_fieldSize) {
MWAW_DEBUG_MSG(("RagTime5Parser::readClusterLinkList: can not find data zone %d\n", link.m_ids[0]));
}
return false;
diff --git a/src/lib/RagTimeSpreadsheet.cxx b/src/lib/RagTimeSpreadsheet.cxx
index c5bbbd3..2f22f2b 100644
--- a/src/lib/RagTimeSpreadsheet.cxx
+++ b/src/lib/RagTimeSpreadsheet.cxx
@@ -1415,9 +1415,9 @@ bool RagTimeSpreadsheet::readSpreadsheetCellContent(RagTimeSpreadsheetInternal::
break;
case 0x81:
f << "float81,";
- // fall through intended
+ FALLTHROUGH;
case 3:
- // fall through intended
+ FALLTHROUGH;
case 1: {
if (type==3) {
format.m_format=MWAWCell::F_DATE; // we need the format to choose between date and time
@@ -1444,7 +1444,7 @@ bool RagTimeSpreadsheet::readSpreadsheetCellContent(RagTimeSpreadsheetInternal::
}
case 0x24:
f << "text2,";
- // fall through intended
+ FALLTHROUGH;
case 4: {
format.m_format=MWAWCell::F_TEXT;
content.m_textEntry.setBegin(input->tell());
@@ -1483,7 +1483,7 @@ bool RagTimeSpreadsheet::readSpreadsheetCellContent(RagTimeSpreadsheetInternal::
}
case 0x51:
f << "long51,";
- // fall through intended
+ FALLTHROUGH;
case 0x11: // or 2 int?
if (pos+5>endPos) {
ok=false;
diff --git a/src/lib/WriterPlsParser.cxx b/src/lib/WriterPlsParser.cxx
index 264006d..4568236 100644
--- a/src/lib/WriterPlsParser.cxx
+++ b/src/lib/WriterPlsParser.cxx
@@ -1084,7 +1084,7 @@ bool WriterPlsParser::sendWindow(int zone, MWAWVec2i limits)
listener->insertBreak(MWAWTextListener::ColumnBreak);
}
}
- // fall through intended
+ FALLTHROUGH;
case 0:
case 2:
ok = readText(pInfo);
diff --git a/src/lib/ZWrtText.cxx b/src/lib/ZWrtText.cxx
index fce716d..ea26c05 100644
--- a/src/lib/ZWrtText.cxx
+++ b/src/lib/ZWrtText.cxx
@@ -791,6 +791,7 @@ bool ZWrtText::sendHeaderFooter(bool header)
break;
}
input->seek(actPos+1, librevenge::RVNG_SEEK_SET);
+ FALLTHROUGH;
default:
listener->insertCharacter(static_cast<unsigned char>(c), input, endPos);
break;
diff --git a/src/lib/libmwaw_internal.cxx b/src/lib/libmwaw_internal.cxx
index 6976def..f4d45f5 100644
--- a/src/lib/libmwaw_internal.cxx
+++ b/src/lib/libmwaw_internal.cxx
@@ -339,12 +339,14 @@ bool convertDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVe
switch (ch) {
case 'Y':
list.insert("number:style", "long");
+ FALLTHROUGH;
case 'y':
list.insert("librevenge:value-type", "year");
propVect.append(list);
break;
case 'B':
list.insert("number:style", "long");
+ FALLTHROUGH;
case 'b':
case 'h':
list.insert("librevenge:value-type", "month");
@@ -357,13 +359,14 @@ bool convertDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVe
break;
case 'e':
list.insert("number:style", "long");
- // fall-through intended
+ FALLTHROUGH;
case 'd':
list.insert("librevenge:value-type", "day");
propVect.append(list);
break;
case 'A':
list.insert("number:style", "long");
+ FALLTHROUGH;
case 'a':
list.insert("librevenge:value-type", "day-of-week");
propVect.append(list);
@@ -371,7 +374,7 @@ bool convertDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVe
case 'H':
list.insert("number:style", "long");
- // fall-through intended
+ FALLTHROUGH;
case 'I':
list.insert("librevenge:value-type", "hours");
propVect.append(list);
diff --git a/src/lib/libmwaw_internal.hxx b/src/lib/libmwaw_internal.hxx
index b63c4c8..317cbfa 100644
--- a/src/lib/libmwaw_internal.hxx
+++ b/src/lib/libmwaw_internal.hxx
@@ -116,6 +116,21 @@ struct MWAW_shared_ptr_noop_deleter {
# define LIBMWAW_ATTRIBUTE_PRINTF(fmt, arg)
#endif
+#if defined(__clang__)
+# if __has_cpp_attribute(clang::fallthrough)
+# define FALLTHROUGH [[clang::fallthrough]]
+# else
+# define FALLTHROUGH
+# endif
+#elif defined(__GNUC__)
+# if __GNUC__>=7
+# define FALLTHROUGH [[fallthrough]]
+# else
+# define FALLTHROUGH
+# endif
+#else
+# define FALLTHROUGH
+#endif
/* ---------- debug --------------- */
#ifdef DEBUG
namespace libmwaw
--
2.9.4

View File

@@ -0,0 +1,600 @@
From aa17a93b9af37825009490855df9ab4f83c43ec2 Mon Sep 17 00:00:00 2001
From: osnola <alonso@loria.fr>
Date: Mon, 3 Jul 2017 12:22:52 +0200
Subject: [PATCH 2/2] Rename FALLTHROUGH in MWAW_FALLTHROUGH + simplify code...
---
src/lib/BeagleWksDBParser.cxx | 2 +-
src/lib/ClarisDrawText.cxx | 4 ++--
src/lib/ClarisWksText.cxx | 4 ++--
src/lib/HanMacWrdKGraph.cxx | 2 +-
src/lib/HanMacWrdKParser.cxx | 2 +-
src/lib/MWAWChart.cxx | 2 +-
src/lib/MWAWGraphicListener.cxx | 4 ++--
src/lib/MWAWGraphicShape.cxx | 2 +-
src/lib/MWAWPageSpan.cxx | 2 +-
src/lib/MWAWPresentationListener.cxx | 4 ++--
src/lib/MWAWSpreadsheetListener.cxx | 8 ++++----
src/lib/MWAWTextListener.cxx | 10 +++++-----
src/lib/MacDraft5Parser.cxx | 2 +-
src/lib/MacDrawProParser.cxx | 4 ++--
src/lib/MacDrawProStyleManager.cxx | 4 ++--
src/lib/MarinerWrtGraph.cxx | 4 ++--
src/lib/MarinerWrtText.cxx | 2 +-
src/lib/MoreText.cxx | 2 +-
src/lib/MsWksDBParser.cxx | 2 +-
src/lib/MsWksGraph.cxx | 4 ++--
src/lib/MsWksSSParser.cxx | 2 +-
src/lib/PowerPoint3Parser.cxx | 2 +-
src/lib/RagTimeSpreadsheet.cxx | 8 ++++----
src/lib/WriterPlsParser.cxx | 2 +-
src/lib/ZWrtText.cxx | 2 +-
src/lib/libmwaw_internal.cxx | 10 +++++-----
src/lib/libmwaw_internal.hxx | 17 ++++++++---------
27 files changed, 56 insertions(+), 57 deletions(-)
diff --git a/src/lib/BeagleWksDBParser.cxx b/src/lib/BeagleWksDBParser.cxx
index efaf283..04f9b31 100644
--- a/src/lib/BeagleWksDBParser.cxx
+++ b/src/lib/BeagleWksDBParser.cxx
@@ -1009,7 +1009,7 @@ bool BeagleWksDBParser::readRow()
if (fSz>20) break;
val=static_cast<int>(input->readULong(2));
if (val) f << "g0=" << std::hex << val << std::dec << ",";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case BeagleWksDBParserInternal::Cell::Memo: // memoId
case BeagleWksDBParserInternal::Cell::Picture: // pictId
case BeagleWksDBParserInternal::Cell::Number:
diff --git a/src/lib/ClarisDrawText.cxx b/src/lib/ClarisDrawText.cxx
index f032414..80f9ee0 100644
--- a/src/lib/ClarisDrawText.cxx
+++ b/src/lib/ClarisDrawText.cxx
@@ -520,7 +520,7 @@ shared_ptr<ClarisWksStruct::DSET> ClarisDrawText::readDSETZone(ClarisWksStruct::
textZone->m_position = ClarisWksStruct::DSET::P_Main;
break;
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
default:
MWAW_DEBUG_MSG(("ClarisDrawText::readDSETZone: find unknown position %d\n", (textZone->m_textType >> 4)));
f << "#position="<< (textZone->m_textType >> 4) << ",";
@@ -1358,7 +1358,7 @@ bool ClarisDrawText::sendText(ClarisDrawTextInternal::DSET const &zone, int subZ
}
MWAW_DEBUG_MSG(("ClarisDrawText::sendText: Find unexpected char 1\n"));
f << "###";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 0xb: // page break
MWAW_DEBUG_MSG(("ClarisDrawText::sendText: Find unexpected page break\n"));
f << "###pb";
diff --git a/src/lib/ClarisWksText.cxx b/src/lib/ClarisWksText.cxx
index 41bf87d..8a9e262 100644
--- a/src/lib/ClarisWksText.cxx
+++ b/src/lib/ClarisWksText.cxx
@@ -754,7 +754,7 @@ shared_ptr<ClarisWksStruct::DSET> ClarisWksText::readDSETZone(ClarisWksStruct::D
textZone->m_position = ClarisWksStruct::DSET::P_Main;
break;
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
default:
MWAW_DEBUG_MSG(("ClarisWksText::readDSETZone: find unknown position %d\n", (textZone->m_textType >> 4)));
f << "#position="<< (textZone->m_textType >> 4) << ",";
@@ -1788,7 +1788,7 @@ bool ClarisWksText::sendText(ClarisWksTextInternal::Zone const &zone, MWAWListen
}
MWAW_DEBUG_MSG(("ClarisWksText::sendText: Find unexpected char 1\n"));
f << "###";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 0xb: // page break
numSectionInPage = 0;
if (main)
diff --git a/src/lib/HanMacWrdKGraph.cxx b/src/lib/HanMacWrdKGraph.cxx
index fe4a3e2..b9a4c56 100644
--- a/src/lib/HanMacWrdKGraph.cxx
+++ b/src/lib/HanMacWrdKGraph.cxx
@@ -1260,7 +1260,7 @@ bool HanMacWrdKGraph::sendFrame(HanMacWrdKGraphInternal::Frame const &frame, MWA
return true;
}
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 10:
return sendTextBox(static_cast<HanMacWrdKGraphInternal::TextBox const &>(frame), pos);
case 6: {
diff --git a/src/lib/HanMacWrdKParser.cxx b/src/lib/HanMacWrdKParser.cxx
index ef9bd88..0df5d4f 100644
--- a/src/lib/HanMacWrdKParser.cxx
+++ b/src/lib/HanMacWrdKParser.cxx
@@ -507,7 +507,7 @@ bool HanMacWrdKParser::readZone(shared_ptr<HanMacWrdKZone> zone)
case 0xc:
if (readZonec(zone))
return true;
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 0xd:
if (m_graphParser->readPicture(zone))
return true;
diff --git a/src/lib/MWAWChart.cxx b/src/lib/MWAWChart.cxx
index c9b6e6d..67bd706 100644
--- a/src/lib/MWAWChart.cxx
+++ b/src/lib/MWAWChart.cxx
@@ -624,7 +624,7 @@ std::ostream &operator<<(std::ostream &o, MWAWChart::TextZone const &zone)
switch (zone.m_type) {
case MWAWChart::TextZone::T_SubTitle:
o << "sub";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWChart::TextZone::T_Title:
o << "title";
if (zone.m_contentType==MWAWChart::TextZone::C_Cell)
diff --git a/src/lib/MWAWGraphicListener.cxx b/src/lib/MWAWGraphicListener.cxx
index 6b723e8..50c7857 100644
--- a/src/lib/MWAWGraphicListener.cxx
+++ b/src/lib/MWAWGraphicListener.cxx
@@ -1480,7 +1480,7 @@ void MWAWGraphicListener::_handleFrameParameters(librevenge::RVNGPropertyList &l
switch (pos.m_yPos) {
case MWAWPosition::YFull:
list.insert("svg:height", double(h), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
list.insert("style:vertical-pos", "from-top");
@@ -1522,7 +1522,7 @@ void MWAWGraphicListener::_handleFrameParameters(librevenge::RVNGPropertyList &l
switch (pos.m_xPos) {
case MWAWPosition::XFull:
list.insert("svg:width", double(w), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
list.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MWAWGraphicShape.cxx b/src/lib/MWAWGraphicShape.cxx
index f1e7418..375899a 100644
--- a/src/lib/MWAWGraphicShape.cxx
+++ b/src/lib/MWAWGraphicShape.cxx
@@ -596,7 +596,7 @@ std::vector<MWAWGraphicShape::PathData> MWAWGraphicShape::getPath(bool forTransf
switch (m_type) {
case Measure:
MWAW_DEBUG_MSG(("MWAWGraphicShape::getPath: called on a measure, transform it in line\n"));
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case Line:
case Polygon: {
size_t n=m_vertices.size();
diff --git a/src/lib/MWAWPageSpan.cxx b/src/lib/MWAWPageSpan.cxx
index b1064c4..7302e05 100644
--- a/src/lib/MWAWPageSpan.cxx
+++ b/src/lib/MWAWPageSpan.cxx
@@ -226,7 +226,7 @@ void MWAWPageSpan::setHeaderFooter(MWAWHeaderFooter const &hF)
switch (hF.m_occurrence) {
case MWAWHeaderFooter::NEVER:
removeHeaderFooter(type, MWAWHeaderFooter::ALL);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWHeaderFooter::ALL:
removeHeaderFooter(type, MWAWHeaderFooter::ODD);
removeHeaderFooter(type, MWAWHeaderFooter::EVEN);
diff --git a/src/lib/MWAWPresentationListener.cxx b/src/lib/MWAWPresentationListener.cxx
index 23542cd..cb0c699 100644
--- a/src/lib/MWAWPresentationListener.cxx
+++ b/src/lib/MWAWPresentationListener.cxx
@@ -1489,7 +1489,7 @@ void MWAWPresentationListener::_handleFrameParameters(librevenge::RVNGPropertyLi
switch (pos.m_yPos) {
case MWAWPosition::YFull:
list.insert("svg:height", double(h), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
list.insert("style:vertical-pos", "from-top");
@@ -1531,7 +1531,7 @@ void MWAWPresentationListener::_handleFrameParameters(librevenge::RVNGPropertyLi
switch (pos.m_xPos) {
case MWAWPosition::XFull:
list.insert("svg:width", double(w), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
list.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MWAWSpreadsheetListener.cxx b/src/lib/MWAWSpreadsheetListener.cxx
index f454fb8..c441434 100644
--- a/src/lib/MWAWSpreadsheetListener.cxx
+++ b/src/lib/MWAWSpreadsheetListener.cxx
@@ -1054,7 +1054,7 @@ void MWAWSpreadsheetListener::insertShape
default:
#endif
MWAW_DEBUG_MSG(("MWAWSpreadsheetListener::insertShape: UNKNOWN position, insert as char position\n"));
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1171,7 +1171,7 @@ bool MWAWSpreadsheetListener::openFrame(MWAWPosition const &pos, MWAWGraphicStyl
break;
case MWAWPosition::Unknown:
MWAW_DEBUG_MSG(("MWAWSpreadsheetListener::openFrame: UNKNOWN position, insert as char position\n"));
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1346,7 +1346,7 @@ void MWAWSpreadsheetListener::_handleFrameParameters
switch (pos.m_yPos) {
case MWAWPosition::YFull:
propList.insert("svg:height", double(h), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
propList.insert("style:vertical-pos", "from-top");
@@ -1388,7 +1388,7 @@ void MWAWSpreadsheetListener::_handleFrameParameters
switch (pos.m_xPos) {
case MWAWPosition::XFull:
propList.insert("svg:width", double(w), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
propList.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MWAWTextListener.cxx b/src/lib/MWAWTextListener.cxx
index 151f64a..40606e6 100644
--- a/src/lib/MWAWTextListener.cxx
+++ b/src/lib/MWAWTextListener.cxx
@@ -1139,7 +1139,7 @@ void MWAWTextListener::insertShape
default:
#endif
MWAW_DEBUG_MSG(("MWAWTextListener::insertShape: UNKNOWN position, insert as char position\n"));
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1255,7 +1255,7 @@ bool MWAWTextListener::openFrame(MWAWPosition const &pos, MWAWGraphicStyle const
break;
case MWAWPosition::Unknown:
MWAW_DEBUG_MSG(("MWAWTextListener::openFrame: UNKNOWN position, insert as char position\n"));
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1339,7 +1339,7 @@ bool MWAWTextListener::openGroup(MWAWPosition const &pos)
default:
#endif
MWAW_DEBUG_MSG(("MWAWTextListener::openGroup: UNKNOWN position, insert as char position\n"));
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::CharBaseLine:
case MWAWPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1490,7 +1490,7 @@ void MWAWTextListener::_handleFrameParameters
switch (pos.m_yPos) {
case MWAWPosition::YFull:
propList.insert("svg:height", double(h), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::YTop:
if (origin[1] < 0 || origin[1] > 0) {
propList.insert("style:vertical-pos", "from-top");
@@ -1532,7 +1532,7 @@ void MWAWTextListener::_handleFrameParameters
switch (pos.m_xPos) {
case MWAWPosition::XFull:
propList.insert("svg:width", double(w), unit);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case MWAWPosition::XLeft:
if (origin[0] < 0 || origin[0] > 0) {
propList.insert("style:horizontal-pos", "from-left");
diff --git a/src/lib/MacDraft5Parser.cxx b/src/lib/MacDraft5Parser.cxx
index 6c11d41..e3ea4dd 100644
--- a/src/lib/MacDraft5Parser.cxx
+++ b/src/lib/MacDraft5Parser.cxx
@@ -1473,7 +1473,7 @@ bool MacDraft5Parser::readObject(MacDraft5ParserInternal::Layout &layout)
shape->m_shape=MWAWGraphicShape::rectangle(MWAWBox2f(listPts[0], listPts[2]), corner);
break;
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 0x3:
case 0x4: {
rotation=0;
diff --git a/src/lib/MacDrawProParser.cxx b/src/lib/MacDrawProParser.cxx
index 91c70fa..cf6e68d 100644
--- a/src/lib/MacDrawProParser.cxx
+++ b/src/lib/MacDrawProParser.cxx
@@ -1310,7 +1310,7 @@ int MacDrawProParser::readObject()
f << "bitmap,";
break;
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
default:
MWAW_DEBUG_MSG(("MacDrawProParser::readObject: find unknown type %d\n", val));
f << "###type=" << std::hex << val << std::dec << ",";
@@ -2230,7 +2230,7 @@ bool MacDrawProParser::readGeometryShapeData(MacDrawProParserInternal::Shape &sh
shape.m_shape.m_path.push_back(MWAWGraphicShape::PathData('L', listVertices.back()));
break;
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 9: { // spline
if (remain<=2) {
MWAW_DEBUG_MSG(("MacDrawProParser::readGeometryShapeData: can not read compute the number of point in spline\n"));
diff --git a/src/lib/MacDrawProStyleManager.cxx b/src/lib/MacDrawProStyleManager.cxx
index 9fa242b..f670a57 100644
--- a/src/lib/MacDrawProStyleManager.cxx
+++ b/src/lib/MacDrawProStyleManager.cxx
@@ -2442,7 +2442,7 @@ bool MacDrawProStyleManager::readGradientMap(MWAWEntry const &entry, int N, int
break;
case 1:
gradient.m_type = MWAWGraphicStyle::G_Radial;
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 2: {
if (type==2) gradient.m_type = MWAWGraphicStyle::G_Rectangular;
int dim[4]; // square which defined the center rectangle
@@ -2554,7 +2554,7 @@ bool MacDrawProStyleManager::readGradientPalette(MWAWEntry const &entry, int fie
break;
case 1:
f << "concentric,";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 2: {
if (type==2) f << "radial,";
int dim[4]; // square which defined the center rectangle
diff --git a/src/lib/MarinerWrtGraph.cxx b/src/lib/MarinerWrtGraph.cxx
index fc9ecd0..ce26ac7 100644
--- a/src/lib/MarinerWrtGraph.cxx
+++ b/src/lib/MarinerWrtGraph.cxx
@@ -130,7 +130,7 @@ struct Token {
switch (m_pictBorderType[i]) {
case 1: // single[w=0.5]
border.m_width = 0.5;
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 2:
border.m_style = MWAWBorder::Simple;
break;
@@ -1024,7 +1024,7 @@ bool MarinerWrtGraph::readTokenBlock0(MarinerWrtStruct const &data, MarinerWrtGr
case 0x18:
val = input->readLong(2);
if (val) f << "f0=" << val << ","; // fieldType?
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 0x19:
case 0x1e:
case 0x1f:
diff --git a/src/lib/MarinerWrtText.cxx b/src/lib/MarinerWrtText.cxx
index 6d2e097..987fed7 100644
--- a/src/lib/MarinerWrtText.cxx
+++ b/src/lib/MarinerWrtText.cxx
@@ -235,7 +235,7 @@ MWAWBorder Paragraph::BorderFill::getBorder(int i) const
break;
case 1: // single[w=0.5]
res.m_width = 0.5;
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 2:
res.m_style = MWAWBorder::Simple;
break;
diff --git a/src/lib/MoreText.cxx b/src/lib/MoreText.cxx
index c70fc77..bf61ee0 100644
--- a/src/lib/MoreText.cxx
+++ b/src/lib/MoreText.cxx
@@ -2050,7 +2050,7 @@ bool MoreText::readTabs(MWAWEntry const &entry, MoreTextInternal::Paragraph &par
break;
case 3: // more large space
f2 << "dot[large],";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 2:
tab.m_leaderCharacter = '.';
break;
diff --git a/src/lib/MsWksDBParser.cxx b/src/lib/MsWksDBParser.cxx
index 1e67458..1ff5fd6 100644
--- a/src/lib/MsWksDBParser.cxx
+++ b/src/lib/MsWksDBParser.cxx
@@ -1143,7 +1143,7 @@ bool MsWksDBParser::readFormTypes(MsWksDBParserInternal::Form &form)
visible = MsWksDBParserInternal::V_HEADER;
break;
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
default:
f << "##unkn[visible]=" << hiFlag << ",";
break;
diff --git a/src/lib/MsWksGraph.cxx b/src/lib/MsWksGraph.cxx
index bb70d52..76b99df 100644
--- a/src/lib/MsWksGraph.cxx
+++ b/src/lib/MsWksGraph.cxx
@@ -1227,7 +1227,7 @@ bool MsWksGraph::readPictHeader(MsWksGraphInternal::Zone &pict)
switch (lineFlags&3) {
case 2:
style.m_arrows[0]=MWAWGraphicStyle::Arrow::plain();
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 1:
style.m_arrows[1]=MWAWGraphicStyle::Arrow::plain();
break;
@@ -1989,7 +1989,7 @@ bool MsWksGraph::readRB(MWAWInputStreamPtr input, MWAWEntry const &entry, int ki
case 2:
if (input->readLong(1)!=3) return false;
f << "id=" << input->readLong(1) << ",";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 1: {
unsigned long dSz=input->readULong(4);
beginRB=input->tell();
diff --git a/src/lib/MsWksSSParser.cxx b/src/lib/MsWksSSParser.cxx
index 271a5c7..d9aba6f 100644
--- a/src/lib/MsWksSSParser.cxx
+++ b/src/lib/MsWksSSParser.cxx
@@ -933,7 +933,7 @@ bool MsWksSSParser::readCell(int sz, MWAWVec2i const &cellPos, MsWksSSParserInte
break;
case 3:
f << "type" << type << ",";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 2: //number general
format.m_format=MWAWCell::F_NUMBER;
content.m_contentType=MWAWCellContent::C_FORMULA;
diff --git a/src/lib/PowerPoint3Parser.cxx b/src/lib/PowerPoint3Parser.cxx
index 81b15f2..6bdfe49 100644
--- a/src/lib/PowerPoint3Parser.cxx
+++ b/src/lib/PowerPoint3Parser.cxx
@@ -2952,7 +2952,7 @@ bool PowerPoint3Parser::readParagraph(MWAWParagraph &para, PowerPoint3ParserInte
}
val &= 0xbf;
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
default:
if (val)
f << std::hex << val << std::dec << ",";
diff --git a/src/lib/RagTimeSpreadsheet.cxx b/src/lib/RagTimeSpreadsheet.cxx
index 2f22f2b..4210358 100644
--- a/src/lib/RagTimeSpreadsheet.cxx
+++ b/src/lib/RagTimeSpreadsheet.cxx
@@ -1415,9 +1415,9 @@ bool RagTimeSpreadsheet::readSpreadsheetCellContent(RagTimeSpreadsheetInternal::
break;
case 0x81:
f << "float81,";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 3:
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 1: {
if (type==3) {
format.m_format=MWAWCell::F_DATE; // we need the format to choose between date and time
@@ -1444,7 +1444,7 @@ bool RagTimeSpreadsheet::readSpreadsheetCellContent(RagTimeSpreadsheetInternal::
}
case 0x24:
f << "text2,";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 4: {
format.m_format=MWAWCell::F_TEXT;
content.m_textEntry.setBegin(input->tell());
@@ -1483,7 +1483,7 @@ bool RagTimeSpreadsheet::readSpreadsheetCellContent(RagTimeSpreadsheetInternal::
}
case 0x51:
f << "long51,";
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 0x11: // or 2 int?
if (pos+5>endPos) {
ok=false;
diff --git a/src/lib/WriterPlsParser.cxx b/src/lib/WriterPlsParser.cxx
index 4568236..4207223 100644
--- a/src/lib/WriterPlsParser.cxx
+++ b/src/lib/WriterPlsParser.cxx
@@ -1084,7 +1084,7 @@ bool WriterPlsParser::sendWindow(int zone, MWAWVec2i limits)
listener->insertBreak(MWAWTextListener::ColumnBreak);
}
}
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 0:
case 2:
ok = readText(pInfo);
diff --git a/src/lib/ZWrtText.cxx b/src/lib/ZWrtText.cxx
index ea26c05..5d910da 100644
--- a/src/lib/ZWrtText.cxx
+++ b/src/lib/ZWrtText.cxx
@@ -791,7 +791,7 @@ bool ZWrtText::sendHeaderFooter(bool header)
break;
}
input->seek(actPos+1, librevenge::RVNG_SEEK_SET);
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
default:
listener->insertCharacter(static_cast<unsigned char>(c), input, endPos);
break;
diff --git a/src/lib/libmwaw_internal.cxx b/src/lib/libmwaw_internal.cxx
index f4d45f5..2a879e3 100644
--- a/src/lib/libmwaw_internal.cxx
+++ b/src/lib/libmwaw_internal.cxx
@@ -339,14 +339,14 @@ bool convertDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVe
switch (ch) {
case 'Y':
list.insert("number:style", "long");
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 'y':
list.insert("librevenge:value-type", "year");
propVect.append(list);
break;
case 'B':
list.insert("number:style", "long");
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 'b':
case 'h':
list.insert("librevenge:value-type", "month");
@@ -359,14 +359,14 @@ bool convertDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVe
break;
case 'e':
list.insert("number:style", "long");
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 'd':
list.insert("librevenge:value-type", "day");
propVect.append(list);
break;
case 'A':
list.insert("number:style", "long");
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 'a':
list.insert("librevenge:value-type", "day-of-week");
propVect.append(list);
@@ -374,7 +374,7 @@ bool convertDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVe
case 'H':
list.insert("number:style", "long");
- FALLTHROUGH;
+ MWAW_FALLTHROUGH;
case 'I':
list.insert("librevenge:value-type", "hours");
propVect.append(list);
diff --git a/src/lib/libmwaw_internal.hxx b/src/lib/libmwaw_internal.hxx
index 317cbfa..4c9580d 100644
--- a/src/lib/libmwaw_internal.hxx
+++ b/src/lib/libmwaw_internal.hxx
@@ -116,21 +116,20 @@ struct MWAW_shared_ptr_noop_deleter {
# define LIBMWAW_ATTRIBUTE_PRINTF(fmt, arg)
#endif
+/** fall through attributes */
+#define MWAW_FALLTHROUGH
#if defined(__clang__)
-# if __has_cpp_attribute(clang::fallthrough)
-# define FALLTHROUGH [[clang::fallthrough]]
-# else
-# define FALLTHROUGH
+# if defined(__has_cpp_attribute) && __has_cpp_attribute(clang::fallthrough)
+# undef MWAW_FALLTHROUGH
+# define MWAW_FALLTHROUGH [[clang::fallthrough]]
# endif
#elif defined(__GNUC__)
# if __GNUC__>=7
-# define FALLTHROUGH [[fallthrough]]
-# else
-# define FALLTHROUGH
+# undef MWAW_FALLTHROUGH
+# define MWAW_FALLTHROUGH __attribute__ ((fallthrough))
# endif
-#else
-# define FALLTHROUGH
#endif
+
/* ---------- debug --------------- */
#ifdef DEBUG
namespace libmwaw
--
2.9.4

View File

@@ -0,0 +1,19 @@
SUMMARY = "A library for import of many old Mac document formats"
HOMEPAGE = "http://sourceforge.net/projects/libmwaw"
LICENSE = " LGPLv2.1 & MPL-2.0"
LIC_FILES_CHKSUM = " \
file://COPYING.LGPL;md5=a049c5e22d3bd7bc3c9a2e9135a6d104 \
file://COPYING.MPL;md5=cce0d89a18de69e7f51f693182ac4a3e \
"
SRC_URI = " \
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
file://0001-gcc7-try-to-correct-some-warnings.patch \
file://0002-Rename-FALLTHROUGH-in-MWAW_FALLTHROUGH-simplify-code.patch \
"
SRC_URI[md5sum] = "d986a3405788666c4e716f130666499f"
SRC_URI[sha256sum] = "61f5435ebe5e16581d297e8e29b4c9d24d3a1a8a41d497b9fed2452146050150"
inherit autotools-brokensep pkgconfig
DEPENDS = "librevenge"

View File

@@ -1,15 +0,0 @@
SUMMARY = "A library for import of many old Mac document formats"
HOMEPAGE = "http://sourceforge.net/projects/libmwaw"
LICENSE = " LGPLv2.1 & MPL-2.0"
LIC_FILES_CHKSUM = " \
file://COPYING.LGPL;md5=a049c5e22d3bd7bc3c9a2e9135a6d104 \
file://COPYING.MPL;md5=cce0d89a18de69e7f51f693182ac4a3e \
"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "72ad446d76b157e30c1baf39bb288b99"
SRC_URI[sha256sum] = "a59c5ffcbca0040d93a5b3cb00faf12659cf8b525f076081d1e7585d91d08eb5"
inherit autotools pkgconfig
DEPENDS = "librevenge"

View File

@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = " \
file://COPYING.MPL;md5=815ca599c9df247a0c7f619bab123dad \
"
SRC_URI = "http://dev-www.libreoffice.org/src/${BPN}/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "691522167fe3b0c94becfe5d957883be"
SRC_URI[sha256sum] = "430a067903660bb1b97daf4b045e408a1bb75ca45e615cf05fb1a4da65fc5a8c"
SRC_URI[md5sum] = "b60b7f4233105261eb139d82cbf3b33a"
SRC_URI[sha256sum] = "fe1002d3671d53c09bc65e47ec948ec7b67e6fb112ed1cd10966e211a8bb50f9"
inherit autotools pkgconfig

View File

@@ -0,0 +1,319 @@
From e1b2c2f34268d14aa469c88ab89bd9f491168bd0 Mon Sep 17 00:00:00 2001
From: osnola <alonso@loria.fr>
Date: Mon, 3 Jul 2017 10:04:00 +0200
Subject: [PATCH] g++7: try to remove some warnings...
Upstream-Status: Submitted [1]
[1] https://sourceforge.net/p/libwps/code/ci/master/tree/
---
src/lib/WKS4Spreadsheet.cpp | 2 +-
src/lib/WKSContentListener.cpp | 4 ++--
src/lib/WPS4.cpp | 2 +-
src/lib/WPS4Text.cpp | 7 ++++---
src/lib/WPS8Table.cpp | 2 +-
src/lib/WPS8TextStyle.cpp | 4 +++-
src/lib/WPSCell.cpp | 11 +++++++----
src/lib/WPSContentListener.cpp | 6 +++---
src/lib/WPSGraphicShape.cpp | 1 +
src/lib/WPSPageSpan.cpp | 1 +
src/lib/libwps_internal.cpp | 1 +
src/lib/libwps_internal.h | 14 ++++++++++++++
src/lib/libwps_tools_win.cpp | 1 +
13 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/src/lib/WKS4Spreadsheet.cpp b/src/lib/WKS4Spreadsheet.cpp
index 29dd98e..cf3232c 100644
--- a/src/lib/WKS4Spreadsheet.cpp
+++ b/src/lib/WKS4Spreadsheet.cpp
@@ -821,7 +821,7 @@ bool WKS4Spreadsheet::readMsWorksStyle()
break;
case 5: // center arround cell
f << ",center[between cell]";
- // fail through expected
+ WPS_FALLTHROUGH;
case 2:
style.setHAlignement(WPSCell::HALIGN_CENTER);
break;
diff --git a/src/lib/WKSContentListener.cpp b/src/lib/WKSContentListener.cpp
index 08d8209..d24b8a2 100644
--- a/src/lib/WKSContentListener.cpp
+++ b/src/lib/WKSContentListener.cpp
@@ -775,7 +775,7 @@ void WKSContentListener::_handleFrameParameters
{
case WPSPosition::YFull:
propList.insert("svg:height", double(h), unit);
- // fall-through intended
+ WPS_FALLTHROUGH;
case WPSPosition::YTop:
if (origin[1] < 0.0 || origin[1] > 0.0)
{
@@ -819,7 +819,7 @@ void WKSContentListener::_handleFrameParameters
{
case WPSPosition::XFull:
propList.insert("svg:width", double(w), unit);
- // fallthrough intended
+ WPS_FALLTHROUGH;
case WPSPosition::XLeft:
if (origin[0] < 0.0 || origin[0] > 0.0)
{
diff --git a/src/lib/WPS4.cpp b/src/lib/WPS4.cpp
index cc6493d..2629086 100644
--- a/src/lib/WPS4.cpp
+++ b/src/lib/WPS4.cpp
@@ -585,7 +585,7 @@ bool WPS4Parser::findZones()
{
case 0xda1:
apCreator = 2;
- // fall-through intended
+ WPS_FALLTHROUGH;
case 0:
case 1:
worksVersion = 1;
diff --git a/src/lib/WPS4Text.cpp b/src/lib/WPS4Text.cpp
index 76f0e5f..fe464ce 100644
--- a/src/lib/WPS4Text.cpp
+++ b/src/lib/WPS4Text.cpp
@@ -910,6 +910,7 @@ bool WPS4Text::readText(WPSEntry const &zone)
}
m_input->seek(-1, librevenge::RVNG_SEEK_CUR);
}
+ WPS_FALLTHROUGH;
default:
if (version()<=2)
{
@@ -1593,7 +1594,7 @@ bool WPS4Text::readDosLink(WPSEntry const &entry)
val = libwps::readU16(m_input); // always 4
if (val != 4) f << "g1=" << val << ",";
}
- // fall-through intended
+ WPS_FALLTHROUGH;
case 0x40: // spreadsheet range
case 0x01: // char ?
{
@@ -1999,7 +2000,7 @@ bool WPS4Text::readParagraph(long endPos, int &id, std::string &mess)
break;
case 0x13: // seems another way to define the left margin
f << "#left,";
- // fall-through intended
+ WPS_FALLTHROUGH;
case 0x12:
pp.m_margins[1] = arg/1440.;
break;
@@ -2565,7 +2566,7 @@ bool WPS4Text::readPLC
break;
default:
WPS_DEBUG_MSG(("WPS4Text:readPLC: unexpected PLC size\n"));
- // fallthrough intended
+ WPS_FALLTHROUGH;
case 0:
plc.m_value = 0;
}
diff --git a/src/lib/WPS8Table.cpp b/src/lib/WPS8Table.cpp
index 3280158..da6bfa9 100644
--- a/src/lib/WPS8Table.cpp
+++ b/src/lib/WPS8Table.cpp
@@ -605,7 +605,7 @@ bool WPS8Table::readMCLD(RVNGInputStreamPtr input, WPSEntry const &entry)
break; // normal
case 0xFF: // also unset, diff with value = 1 ?
f2 << "#f" << dt.id() << "=" << std::hex << dt.m_value << std::dec << ",";
- // fall-through intended
+ WPS_FALLTHROUGH;
case 1:
cell->setVerticalSet(false);
break;
diff --git a/src/lib/WPS8TextStyle.cpp b/src/lib/WPS8TextStyle.cpp
index aa02e49..dbaeb71 100644
--- a/src/lib/WPS8TextStyle.cpp
+++ b/src/lib/WPS8TextStyle.cpp
@@ -671,6 +671,7 @@ bool WPS8TextStyle::readParagraph(long endPos, int &id, std::string &mess)
{
case 2: // not frequent: only found one time
f << "#type[bullet]=2,";
+ WPS_FALLTHROUGH;
case 1: // the normal case
para.m_listLevelIndex = 1;
para.m_listLevel.m_type = libwps::BULLET;
@@ -756,7 +757,7 @@ bool WPS8TextStyle::readParagraph(long endPos, int &id, std::string &mess)
break;
default:
f << "#bullet/type=" << type << ",";
- // fall-through intended
+ WPS_FALLTHROUGH;
case 2:
para.m_listLevel.m_type = libwps::ARABIC;
break;
@@ -1001,6 +1002,7 @@ bool WPS8TextStyle::readParagraph(long endPos, int &id, std::string &mess)
f << "extra[tabs]=[" << data.m_recursData[ch] << "],";
}
}
+ WPS_FALLTHROUGH; // checkme
case 0x34: // interline line spacing 8*152400 -> normal, sinon *2
{
diff --git a/src/lib/WPSCell.cpp b/src/lib/WPSCell.cpp
index 7086140..d87ea0b 100644
--- a/src/lib/WPSCell.cpp
+++ b/src/lib/WPSCell.cpp
@@ -64,12 +64,14 @@ bool WPSCellFormat::convertDTFormat(std::string const &dtFormat, librevenge::RVN
{
case 'Y':
list.insert("number:style", "long");
+ WPS_FALLTHROUGH;
case 'y':
list.insert("librevenge:value-type", "year");
propVect.append(list);
break;
case 'B':
list.insert("number:style", "long");
+ WPS_FALLTHROUGH;
case 'b':
case 'h':
list.insert("librevenge:value-type", "month");
@@ -82,13 +84,14 @@ bool WPSCellFormat::convertDTFormat(std::string const &dtFormat, librevenge::RVN
break;
case 'e':
list.insert("number:style", "long");
- // fall-through intended
+ WPS_FALLTHROUGH;
case 'd':
list.insert("librevenge:value-type", "day");
propVect.append(list);
break;
case 'A':
list.insert("number:style", "long");
+ WPS_FALLTHROUGH;
case 'a':
list.insert("librevenge:value-type", "day-of-week");
propVect.append(list);
@@ -96,7 +99,7 @@ bool WPSCellFormat::convertDTFormat(std::string const &dtFormat, librevenge::RVN
case 'H':
list.insert("number:style", "long");
- // fall-through intended
+ WPS_FALLTHROUGH;
case 'I':
list.insert("librevenge:value-type", "hours");
propVect.append(list);
@@ -286,11 +289,11 @@ bool WPSCellFormat::getNumberingProperties(librevenge::RVNGPropertyList &propLis
{
case 5: // thousand
propList.insert("number:grouping", true);
- // fall-through intended
+ WPS_FALLTHROUGH;
case 0: // default
if (m_subFormat==0)
propList.remove("number:decimal-places");
- // fall-through intended
+ WPS_FALLTHROUGH;
case 1: // decimal
propList.insert("librevenge:value-type", "number");
break;
diff --git a/src/lib/WPSContentListener.cpp b/src/lib/WPSContentListener.cpp
index 9d5e390..5994e51 100644
--- a/src/lib/WPSContentListener.cpp
+++ b/src/lib/WPSContentListener.cpp
@@ -1183,7 +1183,7 @@ bool WPSContentListener::openGroup(WPSPosition const &pos)
default:
WPS_DEBUG_MSG(("WPSContentListener::openGroup: UNKNOWN position, insert as char position\n"));
#endif
- // fallthrough intended
+ WPS_FALLTHROUGH;
case WPSPosition::CharBaseLine:
case WPSPosition::Char:
if (m_ps->m_isSpanOpened)
@@ -1372,7 +1372,7 @@ void WPSContentListener::_handleFrameParameters
{
case WPSPosition::YFull:
propList.insert("svg:height", double(h), unit);
- // fall-through intended
+ WPS_FALLTHROUGH;
case WPSPosition::YTop:
if (origin[1] < 0.0 || origin[1] > 0.0)
{
@@ -1416,7 +1416,7 @@ void WPSContentListener::_handleFrameParameters
{
case WPSPosition::XFull:
propList.insert("svg:width", double(w), unit);
- // fallthrough intended
+ WPS_FALLTHROUGH;
case WPSPosition::XLeft:
if (origin[0] < 0.0 || origin[0] > 0.0)
{
diff --git a/src/lib/WPSGraphicShape.cpp b/src/lib/WPSGraphicShape.cpp
index 6a73f8b..6c60213 100644
--- a/src/lib/WPSGraphicShape.cpp
+++ b/src/lib/WPSGraphicShape.cpp
@@ -631,6 +631,7 @@ std::vector<WPSGraphicShape::PathData> WPSGraphicShape::getPath(bool forTransfor
break;
}
}
+ WPS_FALLTHROUGH;
case Arc:
case Pie:
{
diff --git a/src/lib/WPSPageSpan.cpp b/src/lib/WPSPageSpan.cpp
index f4d2fca..0444680 100644
--- a/src/lib/WPSPageSpan.cpp
+++ b/src/lib/WPSPageSpan.cpp
@@ -114,6 +114,7 @@ void WPSPageSpan::setHeaderFooter(const HeaderFooterType type, const HeaderFoote
{
case NEVER:
_removeHeaderFooter(type, ALL);
+ WPS_FALLTHROUGH;
case FIRST:
case ALL:
_removeHeaderFooter(type, ODD);
diff --git a/src/lib/libwps_internal.cpp b/src/lib/libwps_internal.cpp
index 73d1999..0be82b4 100644
--- a/src/lib/libwps_internal.cpp
+++ b/src/lib/libwps_internal.cpp
@@ -488,6 +488,7 @@ librevenge::RVNGString WPSField::getString() const
struct tm timeinfo;
if (localtime_r(&now, &timeinfo))
{
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
char buf[256];
strftime(buf, 256, format.c_str(), &timeinfo);
res=librevenge::RVNGString(buf);
diff --git a/src/lib/libwps_internal.h b/src/lib/libwps_internal.h
index 690dedb..8e91806 100644
--- a/src/lib/libwps_internal.h
+++ b/src/lib/libwps_internal.h
@@ -83,6 +83,20 @@ struct WPS_shared_ptr_noop_deleter
void operator()(T *) {}
};
+/** fall through attributes */
+#define WPS_FALLTHROUGH
+#if defined(__clang__)
+# if defined(__has_cpp_attribute) && __has_cpp_attribute(clang::fallthrough)
+# undef WPS_FALLTHROUGH
+# define WPS_FALLTHROUGH [[clang::fallthrough]]
+# endif
+#elif defined(__GNUC__)
+# if __GNUC__>=7
+# undef WPS_FALLTHROUGH
+# define WPS_FALLTHROUGH __attribute__ ((fallthrough))
+# endif
+#endif
+
// basic classes and autoptr
/** shared pointer to librevenge::RVNGInputStream */
typedef shared_ptr<librevenge::RVNGInputStream> RVNGInputStreamPtr;
diff --git a/src/lib/libwps_tools_win.cpp b/src/lib/libwps_tools_win.cpp
index 80f53c7..2868267 100644
--- a/src/lib/libwps_tools_win.cpp
+++ b/src/lib/libwps_tools_win.cpp
@@ -186,6 +186,7 @@ Font::Type Font::getTypeForOEM(int oem)
default:
WPS_DEBUG_MSG(("libwps_tools_win::Font::getTypeForOEM: find unknown oem %d\n", oem));
+ WPS_FALLTHROUGH;
case 0:
return UNKNOWN;
}
--
2.9.4

View File

@@ -1,14 +0,0 @@
SUMMARY = "Import filter library for MS Works"
HOMEPAGE = "https://sourceforge.net/projects/libwps/"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = " \
file://COPYING.MPL;md5=815ca599c9df247a0c7f619bab123dad \
"
SRC_URI = "http://dev-www.libreoffice.org/src/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "027fb17fb9e43553aa6624dc18f830ac"
SRC_URI[sha256sum] = "0c30407865a873ff76b6d5b2d2aa599f6af68936638c81ca8292449324042a6c"
inherit autotools pkgconfig
DEPENDS = "librevenge"

View File

@@ -0,0 +1,17 @@
SUMMARY = "Import filter library for MS Works"
HOMEPAGE = "https://sourceforge.net/projects/libwps/"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = " \
file://COPYING.MPL;md5=815ca599c9df247a0c7f619bab123dad \
"
SRC_URI = " \
http://dev-www.libreoffice.org/src/${BPN}-${PV}.tar.xz \
file://0001-g-7-try-to-remove-some-warnings.patch \
"
SRC_URI[md5sum] = "b04428f208e2eb31adcba5a53dec62c2"
SRC_URI[sha256sum] = "e48a7c2fd20048a0a8eaf69bad972575f8b9f06e7497c787463f127d332fccd0"
inherit autotools-brokensep pkgconfig
DEPENDS = "librevenge"

View File

@@ -1,46 +0,0 @@
From 352f9fdff619b5a0a1414c29cfc47068165a599c Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Tue, 19 Jan 2016 10:43:21 +0100
Subject: [PATCH] -Werror=shift-negative-value (GCC 6)
Change-Id: Ifc7b1d6675a8e8fb41dd47cc1282059c3790736f
Upstream-Status: Backport
---
include/basebmp/packedpixeliterator.hxx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/basebmp/packedpixeliterator.hxx b/include/basebmp/packedpixeliterator.hxx
index 776a45e..693f59b 100644
--- a/include/basebmp/packedpixeliterator.hxx
+++ b/include/basebmp/packedpixeliterator.hxx
@@ -78,7 +78,7 @@ public:
num_intraword_positions=sizeof(value_type)*8/bits_per_pixel,
/** Bit mask for one pixel (least significant bits)
*/
- bit_mask=~(~0 << bits_per_pixel)
+ bit_mask=~(~0u << bits_per_pixel)
};
private:
@@ -238,7 +238,7 @@ public:
num_intraword_positions=sizeof(value_type)*8/bits_per_pixel,
/** Bit mask for one pixel (least significant bits)
*/
- bit_mask=~(~0 << bits_per_pixel)
+ bit_mask=~(~0u << bits_per_pixel)
};
private:
@@ -477,7 +477,7 @@ public:
num_intraword_positions=sizeof(value_type)*8/bits_per_pixel,
/** Bit mask for one pixel (least significant bits)
*/
- bit_mask=~(~0 << bits_per_pixel)
+ bit_mask=~(~0u << bits_per_pixel)
};
// TODO(F2): direction of iteration (ImageIterator can be made to
--
2.7.4

View File

@@ -0,0 +1,246 @@
From 3e42714c76b1347babfdea0564009d8d82a83af4 Mon Sep 17 00:00:00 2001
From: Eike Rathke <erack@redhat.com>
Date: Wed, 2 Nov 2016 13:07:48 +0100
Subject: [PATCH] upgrade to ICU 58
Change-Id: I4a992447df65b337721a2a2627d974172a14cba5
Reviewed-on: https://gerrit.libreoffice.org/30487
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
Upstream-Status: Backport
---
configure.ac | 2 +-
.../source/breakiterator/breakiterator_unicode.cxx | 12 ++++++
i18nutil/source/utility/unicode.cxx | 26 +++++++++++++
include/svx/ucsubset.hrc | 11 ++++++
svx/source/dialog/charmap.cxx | 35 +++++++++++++++++
svx/source/dialog/ucsubset.src | 44 ++++++++++++++++++++++
9 files changed, 130 insertions(+), 25 deletions(-)
diff --git a/configure.ac b/configure.ac
index f06ef8e..66a11a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9136,7 +9136,7 @@ SYSTEM_GENBRK=
SYSTEM_GENCCODE=
SYSTEM_GENCMN=
-ICU_MAJOR=54
+ICU_MAJOR=58
ICU_MINOR=1
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"
diff --git a/download.lst b/download.lst
index 4571338..0770a4d 100644
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
@@ -63,10 +63,13 @@ BreakIterator_Unicode::~BreakIterator_Unicode()
class OOoRuleBasedBreakIterator : public RuleBasedBreakIterator
{
public:
+#if (U_ICU_VERSION_MAJOR_NUM < 58)
+ // RuleBasedBreakIterator::setBreakType() is private as of ICU 58.
inline void publicSetBreakType(int32_t type)
{
setBreakType(type);
};
+#endif
OOoRuleBasedBreakIterator(UDataMemory* image,
UErrorCode &status)
: RuleBasedBreakIterator(image, status)
@@ -142,12 +145,21 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Local
}
}
if (rbi) {
+#if (U_ICU_VERSION_MAJOR_NUM < 58)
+ // ICU 58 made RuleBasedBreakIterator::setBreakType() private
+ // instead of protected, so the old workaround of
+ // https://ssl.icu-project.org/trac/ticket/5498
+ // doesn't work anymore. However, they also claim to have fixed
+ // the cause that an initial fBreakType==-1 would lead to an
+ // endless loop under some circumstances.
+ // Let's see ...
switch (rBreakType) {
case LOAD_CHARACTER_BREAKITERATOR: rbi->publicSetBreakType(UBRK_CHARACTER); break;
case LOAD_WORD_BREAKITERATOR: rbi->publicSetBreakType(UBRK_WORD); break;
case LOAD_SENTENCE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_SENTENCE); break;
case LOAD_LINE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_LINE); break;
}
+#endif
icuBI->aBreakIterator = rbi;
}
}
diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx
index bb82bbf..984c5f7 100644
--- a/i18nutil/source/utility/unicode.cxx
+++ b/i18nutil/source/utility/unicode.cxx
@@ -957,6 +957,32 @@ OString SAL_CALL unicode::getExemplarLanguageForUScriptCode(UScriptCode eScript)
sRet = "sa-Sidd";
break;
#endif
+#if (U_ICU_VERSION_MAJOR_NUM >= 58)
+ case USCRIPT_ADLAM:
+ sRet = "mis"; // Adlm - Adlam for Fulani, no language code
+ break;
+ case USCRIPT_BHAIKSUKI:
+ sRet = "mis"; // Bhks - Bhaiksuki for some Buddhist texts, no language code
+ break;
+ case USCRIPT_MARCHEN:
+ sRet = "bo-Marc";
+ break;
+ case USCRIPT_NEWA:
+ sRet = "new-Newa";
+ break;
+ case USCRIPT_OSAGE:
+ sRet = "osa-Osge";
+ break;
+ case USCRIPT_HAN_WITH_BOPOMOFO:
+ sRet = "mis"; // Hanb - Han with Bopomofo, zh-Hanb ?
+ break;
+ case USCRIPT_JAMO:
+ sRet = "mis"; // Jamo - Jamo subset of Hangul, ko-Jamo ?
+ break;
+ case USCRIPT_SYMBOLS_EMOJI:
+ sRet = "mis"; // Zsye - Emoji variant
+ break;
+#endif
}
return sRet;
}
diff --git a/include/svx/ucsubset.hrc b/include/svx/ucsubset.hrc
index adf1cf6..1157a7e 100644
--- a/include/svx/ucsubset.hrc
+++ b/include/svx/ucsubset.hrc
@@ -281,6 +281,27 @@
#define RID_SUBSETSTR_SUPPLEMENTAL_ARROWS_C (RID_SUBSET_START + 253)
#define RID_SUBSETSTR_TIRHUTA (RID_SUBSET_START + 254)
#define RID_SUBSETSTR_WARANG_CITI (RID_SUBSET_START + 255)
+#define RID_SUBSETSTR_AHOM (RID_SUBSET_START + 256)
+#define RID_SUBSETSTR_ANATOLIAN_HIEROGLYPHS (RID_SUBSET_START + 257)
+#define RID_SUBSETSTR_CHEROKEE_SUPPLEMENT (RID_SUBSET_START + 258)
+#define RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E (RID_SUBSET_START + 259)
+#define RID_SUBSETSTR_EARLY_DYNASTIC_CUNEIFORM (RID_SUBSET_START + 260)
+#define RID_SUBSETSTR_HATRAN (RID_SUBSET_START + 261)
+#define RID_SUBSETSTR_MULTANI (RID_SUBSET_START + 262)
+#define RID_SUBSETSTR_OLD_HUNGARIAN (RID_SUBSET_START + 263)
+#define RID_SUBSETSTR_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS (RID_SUBSET_START + 264)
+#define RID_SUBSETSTR_SUTTON_SIGNWRITING (RID_SUBSET_START + 265)
+#define RID_SUBSETSTR_ADLAM (RID_SUBSET_START + 266)
+#define RID_SUBSETSTR_BHAIKSUKI (RID_SUBSET_START + 267)
+#define RID_SUBSETSTR_CYRILLIC_EXTENDED_C (RID_SUBSET_START + 268)
+#define RID_SUBSETSTR_GLAGOLITIC_SUPPLEMENT (RID_SUBSET_START + 269)
+#define RID_SUBSETSTR_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION (RID_SUBSET_START + 270)
+#define RID_SUBSETSTR_MARCHEN (RID_SUBSET_START + 271)
+#define RID_SUBSETSTR_MONGOLIAN_SUPPLEMENT (RID_SUBSET_START + 272)
+#define RID_SUBSETSTR_NEWA (RID_SUBSET_START + 273)
+#define RID_SUBSETSTR_OSAGE (RID_SUBSET_START + 274)
+#define RID_SUBSETSTR_TANGUT (RID_SUBSET_START + 275)
+#define RID_SUBSETSTR_TANGUT_COMPONENTS (RID_SUBSET_START + 276)
// RID_SUBSET_END (RID_SUBSET_START + 299)
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index bcc7cef..ff201a6 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -1594,6 +1594,41 @@ void SubsetMap::InitList()
aAllSubsets.push_back( Subset( 0x1D800, 0x1DAAF, RID_SUBSETSTR_SUTTON_SIGNWRITING ) );
break;
#endif
+#if (U_ICU_VERSION_MAJOR_NUM >= 58)
+ case UBLOCK_ADLAM:
+ aAllSubsets.push_back( Subset( 0x1E900, 0x1E95F, RID_SUBSETSTR_ADLAM ) );
+ break;
+ case UBLOCK_BHAIKSUKI:
+ aAllSubsets.push_back( Subset( 0x11C00, 0x11C6F, RID_SUBSETSTR_BHAIKSUKI ) );
+ break;
+ case UBLOCK_CYRILLIC_EXTENDED_C:
+ aAllSubsets.push_back( Subset( 0x1C80, 0x1C8F, RID_SUBSETSTR_CYRILLIC_EXTENDED_C ) );
+ break;
+ case UBLOCK_GLAGOLITIC_SUPPLEMENT:
+ aAllSubsets.push_back( Subset( 0x1E000, 0x1E02F, RID_SUBSETSTR_GLAGOLITIC_SUPPLEMENT ) );
+ break;
+ case UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION:
+ aAllSubsets.push_back( Subset( 0x16FE0, 0x16FFF, RID_SUBSETSTR_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION ) );
+ break;
+ case UBLOCK_MARCHEN:
+ aAllSubsets.push_back( Subset( 0x11C70, 0x11CBF, RID_SUBSETSTR_MARCHEN ) );
+ break;
+ case UBLOCK_MONGOLIAN_SUPPLEMENT:
+ aAllSubsets.push_back( Subset( 0x11660, 0x1167F, RID_SUBSETSTR_MONGOLIAN_SUPPLEMENT ) );
+ break;
+ case UBLOCK_NEWA:
+ aAllSubsets.push_back( Subset( 0x11400, 0x1147F, RID_SUBSETSTR_NEWA ) );
+ break;
+ case UBLOCK_OSAGE:
+ aAllSubsets.push_back( Subset( 0x104B0, 0x104FF, RID_SUBSETSTR_OSAGE ) );
+ break;
+ case UBLOCK_TANGUT:
+ aAllSubsets.push_back( Subset( 0x17000, 0x187FF, RID_SUBSETSTR_TANGUT ) );
+ break;
+ case UBLOCK_TANGUT_COMPONENTS:
+ aAllSubsets.push_back( Subset( 0x18800, 0x18AFF, RID_SUBSETSTR_TANGUT_COMPONENTS ) );
+ break;
+#endif
}
diff --git a/svx/source/dialog/ucsubset.src b/svx/source/dialog/ucsubset.src
index 06630cc..a7765c3 100644
--- a/svx/source/dialog/ucsubset.src
+++ b/svx/source/dialog/ucsubset.src
@@ -1079,6 +1079,50 @@ Resource RID_SUBSETMAP
{
Text [ en-US ] = "Sutton Signwriting";
};
+ String RID_SUBSETSTR_ADLAM
+ {
+ Text [ en-US ] = "Adlam";
+ };
+ String RID_SUBSETSTR_BHAIKSUKI
+ {
+ Text [ en-US ] = "Bhaiksuki";
+ };
+ String RID_SUBSETSTR_CYRILLIC_EXTENDED_C
+ {
+ Text [ en-US ] = "Cyrillic Extended-C";
+ };
+ String RID_SUBSETSTR_GLAGOLITIC_SUPPLEMENT
+ {
+ Text [ en-US ] = "Glagolitic Supplement";
+ };
+ String RID_SUBSETSTR_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION
+ {
+ Text [ en-US ] = "Ideographic Symbols and Punctuation";
+ };
+ String RID_SUBSETSTR_MARCHEN
+ {
+ Text [ en-US ] = "Marchen";
+ };
+ String RID_SUBSETSTR_MONGOLIAN_SUPPLEMENT
+ {
+ Text [ en-US ] = "Mongolian Supplement";
+ };
+ String RID_SUBSETSTR_NEWA
+ {
+ Text [ en-US ] = "Newa";
+ };
+ String RID_SUBSETSTR_OSAGE
+ {
+ Text [ en-US ] = "Osage";
+ };
+ String RID_SUBSETSTR_TANGUT
+ {
+ Text [ en-US ] = "Tangut";
+ };
+ String RID_SUBSETSTR_TANGUT_COMPONENTS
+ {
+ Text [ en-US ] = "Tangut Components";
+ };
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
--
2.7.4

View File

@@ -0,0 +1,32 @@
From 42cc1bf76716940ea381efc6e18fd087df63c2c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Sat, 15 Apr 2017 11:23:40 +0200
Subject: [PATCH] remove dictmgr.hxx to be compatible with later hunspell
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Backport [1]
https://github.com/LibreOffice/core/commit/072b32442e3f6f220936a93ad1fcbde57746b747
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
lingucomponent/source/spellcheck/spell/sspellimp.cxx | 1 -
1 file changed, 1 deletion(-)
diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.cxx b/lingucomponent/source/spellcheck/spell/sspellimp.cxx
index 706f8b7..73d124c 100644
--- a/lingucomponent/source/spellcheck/spell/sspellimp.cxx
+++ b/lingucomponent/source/spellcheck/spell/sspellimp.cxx
@@ -29,7 +29,6 @@
#include <lingutil.hxx>
#include <hunspell.hxx>
-#include <dictmgr.hxx>
#include <sspellimp.hxx>
#include <linguistic/lngprops.hxx>
--
2.9.3

View File

@@ -0,0 +1,29 @@
From 3ca26ac9c7d3ff28e7687215115fa832f43ca06a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 6 Jul 2017 14:58:15 +0200
Subject: [PATCH] packedpixeliterator.hxx: fix typo detected by gcc7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
include/basebmp/packedpixeliterator.hxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/basebmp/packedpixeliterator.hxx b/include/basebmp/packedpixeliterator.hxx
index 1b99bf9..d3d9ad2 100644
--- a/include/basebmp/packedpixeliterator.hxx
+++ b/include/basebmp/packedpixeliterator.hxx
@@ -603,7 +603,7 @@ public:
value_type get(difference_type const & d) const
{
- const int remainder( x(d.x) % num_intraword_positions );
+ const int remainder( (x + d.x) % num_intraword_positions );
return (unsigned_cast<value_type>(*current(d.x,d.y) &
get_mask<value_type, bits_per_pixel, MsbFirst>(remainder))
--
2.9.4

View File

@@ -33,6 +33,8 @@ DEPENDS += " \
libvisio-native \
libexttextcat-native \
hyphen-native \
unzip-native \
neon-native \
"
SRC_URI += " \
@@ -45,8 +47,6 @@ SRC_URI += " \
"
EXTRA_OECONF += " \
--enable-verbose \
\
--enable-python=system \
--without-x \
--without-java \
@@ -78,6 +78,7 @@ EXTRA_OECONF += " \
--with-system-libvisio \
--with-system-libexttextcat \
--with-system-altlinuxhyph \
--with-system-neon \
\
--without-boost-date-time \
--without-boost-iostreams \
@@ -100,7 +101,7 @@ EXTRA_OECONF += " \
do_configure() {
olddir=`pwd`
cd ${S}
aclocal --system-acdir=${WORKDIR}/aclocal-copy/ -I ${S}/m4
aclocal --system-acdir=${STAGING_DATADIR_NATIVE}/aclocal/ -I ${S}/m4
gnu-configize
autoconf
cd $olddir

View File

@@ -1,9 +1,9 @@
PV = "5.0.5.2"
DIRV = "5.0.5"
PV = "5.0.6.3"
DIRV = "5.0.6"
SRC_URI += " \
http://download.documentfoundation.org/libreoffice/src/${DIRV}/libreoffice-${PV}.tar.xz \
"
SRC_URI[md5sum] = "2a04618e59a4d6b0638a3cb2b896e35e"
SRC_URI[sha256sum] = "1ee729db840cf98bb00fed8c65550ccd6ced03123e3befcc511fe8df6f671b88"
SRC_URI[md5sum] = "541d92329d433696c478f7669ac976f1"
SRC_URI[sha256sum] = "4601d778318e6221cf5b44398c54a790169ad3afb4e81aa29766bcefac0fecc7"

View File

@@ -15,8 +15,8 @@ SRC_URI += " \
file://0009-avoid-downloading-by-git-submodules.patch \
"
SRC_URI[translations.md5sum] = "9698d9d5948988a8f130d909bb0675ce"
SRC_URI[translations.sha256sum] = "67ad8bf35e55f3acb77a4fa9f1e07784a2acde72dcc9126567c833af70748b8d"
SRC_URI[translations.md5sum] = "644f33f2bc84fe9ffd8a4c09b41a36fc"
SRC_URI[translations.sha256sum] = "0c79245cbab70e4f785dd226888ee1c3e8d359f73b345a90eebd8d1bd23c2947"
DEPENDS += " \
${BPN}-native \
@@ -168,7 +168,7 @@ PACKAGECONFIG[postgresql] = "--enable-postgresql-sdbc --with-system-postgresql,
do_configure() {
olddir=`pwd`
cd ${S}
aclocal --system-acdir=${WORKDIR}/aclocal-copy/ -I ${S}/m4
aclocal --system-acdir=${STAGING_DATADIR_NATIVE}/aclocal/ -I ${S}/m4
gnu-configize
autoconf
cd $olddir

View File

@@ -12,18 +12,27 @@ SRC_URI += " \
git://github.com/dagwieers/unoconv.git;destsuffix=git/unoconv;name=unoconv \
file://0001-update-ax_boost-scripts-to-fix-configure-with-system.patch \
file://0002-fix-gcc-build-error.patch \
file://0003-Werror-shift-negative-value-GCC-6.patch \
file://0003-upgrade-to-ICU-58.patch \
file://0004-remove-dictmgr.hxx-to-be-compatible-with-later-hunsp.patch \
file://0005-packedpixeliterator.hxx-fix-typo-detected-by-gcc7.patch \
"
SRCREV_unoconv = "260b815bf2c57118df439f381974f3f0987222a1"
inherit autotools-brokensep pkgconfig distutils-base perlnative
DEPENDS = "python3-lxml-native ccache-native archive-zip-native gperf-native bison-native"
DEPENDS += " \
python3-lxml-native \
ccache-native \
archive-zip-native \
gperf-native \
bison-native \
zip-native \
"
EXTRA_OECONF = " \
--without-doxygen \
--enable-release-build \
--enable-verbose \
--disable-verbose \
--with-parallelism=${@oe.utils.cpu_count()} \
\
--with-system-librevenge \

View File

@@ -1,12 +1,12 @@
SUMMARY = "C++ mathematics library for graphics programming"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://copying.txt;md5=6ba02d5f908587c6f3942e76bf6d92d6"
LIC_FILES_CHKSUM = "file://copying.txt;md5=4431606d144252143c9c3df384a74cad"
inherit cmake
SRC_URI = "git://github.com/g-truc/glm.git"
# 0.9.7.1 tag
SRCREV = "8f39bb8730d45570384f3156eb0126b835024d69"
# 0.9.8.3 tag
SRCREV = "6a1e2ec5d5e79e6d869c947cbdbcbb297bdf9d32"
S = "${WORKDIR}/git"
do_configure() {

View File

@@ -0,0 +1,250 @@
From 8b401fdea3f621101876f31f21aa98ffd60f5e91 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 16 May 2017 10:02:19 +0200
Subject: [PATCH 1/3] drop :: prefix
---
src/cmis-client.cxx | 2 +-
src/libcmis/atom-object.cxx | 2 +-
src/libcmis/document.hxx | 2 +-
src/libcmis/folder.hxx | 8 ++++----
src/libcmis/gdrive-folder.cxx | 2 +-
src/libcmis/json-utils.cxx | 2 +-
src/libcmis/oauth2-data.hxx | 2 +-
src/libcmis/object-type.hxx | 2 +-
src/libcmis/object.hxx | 2 +-
src/libcmis/property-type.hxx | 2 +-
src/libcmis/property.hxx | 2 +-
src/libcmis/rendition.hxx | 2 +-
src/libcmis/repository.hxx | 2 +-
src/libcmis/session-factory.hxx | 4 ++--
src/libcmis/xml-utils.cxx | 2 +-
15 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/cmis-client.cxx b/src/cmis-client.cxx
index 73c1b8e..d5c01e4 100644
--- a/src/cmis-client.cxx
+++ b/src/cmis-client.cxx
@@ -40,7 +40,7 @@
#include <libcmis/libcmis.hxx>
using namespace std;
-using namespace ::boost::program_options;
+using namespace boost::program_options;
using libcmis::PropertyPtrMap;
namespace
diff --git a/src/libcmis/atom-object.cxx b/src/libcmis/atom-object.cxx
index 1eb33fa..01454a4 100644
--- a/src/libcmis/atom-object.cxx
+++ b/src/libcmis/atom-object.cxx
@@ -59,7 +59,7 @@ namespace
// Some implementations (xcmis) put extra spaces into the type attribute
// (e.g. "application/atom+xml; type=feed" instead of "application/atom+xml;type=feed")
string linkType = link.getType( );
- linkType.erase( remove_if( linkType.begin(), linkType.end(), ::isspace ), linkType.end() );
+ linkType.erase( remove_if( linkType.begin(), linkType.end(), isspace ), linkType.end() );
// Some implementation (SharePoint) are omitting the type attribute
bool matchesType = m_type.empty( ) || linkType.empty() || ( linkType == m_type );
diff --git a/src/libcmis/document.hxx b/src/libcmis/document.hxx
index 0473012..a6736d7 100644
--- a/src/libcmis/document.hxx
+++ b/src/libcmis/document.hxx
@@ -140,7 +140,7 @@ namespace libcmis
virtual std::string toString( );
};
- typedef ::boost::shared_ptr< Document > DocumentPtr;
+ typedef boost::shared_ptr< Document > DocumentPtr;
}
#endif
diff --git a/src/libcmis/folder.hxx b/src/libcmis/folder.hxx
index e001541..b9d7c57 100644
--- a/src/libcmis/folder.hxx
+++ b/src/libcmis/folder.hxx
@@ -59,16 +59,16 @@ namespace libcmis
virtual std::vector< std::string > getPaths( );
- virtual ::boost::shared_ptr< Folder > getFolderParent( ) throw ( Exception );
+ virtual boost::shared_ptr< Folder > getFolderParent( ) throw ( Exception );
virtual std::vector< ObjectPtr > getChildren( ) throw ( Exception ) = 0;
virtual std::string getParentId( );
virtual std::string getPath( );
virtual bool isRootFolder( );
- virtual ::boost::shared_ptr< Folder > createFolder( const std::map< std::string, PropertyPtr >& properties )
+ virtual boost::shared_ptr< Folder > createFolder( const std::map< std::string, PropertyPtr >& properties )
throw ( libcmis::Exception ) = 0;
- virtual ::boost::shared_ptr< Document > createDocument( const std::map< std::string, PropertyPtr >& properties,
+ virtual boost::shared_ptr< Document > createDocument( const std::map< std::string, PropertyPtr >& properties,
boost::shared_ptr< std::ostream > os, std::string contentType, std::string fileName ) throw ( Exception ) = 0;
virtual std::vector< std::string > removeTree( bool allVersion = true, UnfileObjects::Type unfile = UnfileObjects::Delete,
@@ -76,7 +76,7 @@ namespace libcmis
virtual std::string toString( );
};
- typedef ::boost::shared_ptr< Folder > FolderPtr;
+ typedef boost::shared_ptr< Folder > FolderPtr;
}
diff --git a/src/libcmis/gdrive-folder.cxx b/src/libcmis/gdrive-folder.cxx
index e5e14af..840539e 100644
--- a/src/libcmis/gdrive-folder.cxx
+++ b/src/libcmis/gdrive-folder.cxx
@@ -159,7 +159,7 @@ libcmis::DocumentPtr GDriveFolder::createDocument(
// parse the document
Json jsonRes = Json::parse( res );
- ::boost::shared_ptr< GDriveDocument >
+ boost::shared_ptr< GDriveDocument >
gDocument( new GDriveDocument( getSession( ), jsonRes ) );
// Upload stream
diff --git a/src/libcmis/json-utils.cxx b/src/libcmis/json-utils.cxx
index b4e037d..de78574 100644
--- a/src/libcmis/json-utils.cxx
+++ b/src/libcmis/json-utils.cxx
@@ -188,7 +188,7 @@ Json Json::parse( const string& str ) throw ( libcmis:: Exception )
{
try
{
- ::property_tree::json_parser::read_json( ss, pTree );
+ property_tree::json_parser::read_json( ss, pTree );
}
catch ( boost::exception const& )
{
diff --git a/src/libcmis/oauth2-data.hxx b/src/libcmis/oauth2-data.hxx
index 000f939..dc8fb77 100644
--- a/src/libcmis/oauth2-data.hxx
+++ b/src/libcmis/oauth2-data.hxx
@@ -69,7 +69,7 @@ namespace libcmis
const std::string& getScope() { return m_scope; }
const std::string& getRedirectUri() { return m_redirectUri; }
};
- typedef ::boost::shared_ptr< OAuth2Data > OAuth2DataPtr;
+ typedef boost::shared_ptr< OAuth2Data > OAuth2DataPtr;
}
#endif //_LIBCMIS_OAUTH2_DATA_HXX_
diff --git a/src/libcmis/object-type.hxx b/src/libcmis/object-type.hxx
index 629663c..bfebc59 100644
--- a/src/libcmis/object-type.hxx
+++ b/src/libcmis/object-type.hxx
@@ -137,7 +137,7 @@ namespace libcmis
virtual std::string toString( );
};
- typedef ::boost::shared_ptr< ObjectType > ObjectTypePtr;
+ typedef boost::shared_ptr< ObjectType > ObjectTypePtr;
}
#endif
diff --git a/src/libcmis/object.hxx b/src/libcmis/object.hxx
index d7d3603..932bc60 100644
--- a/src/libcmis/object.hxx
+++ b/src/libcmis/object.hxx
@@ -214,7 +214,7 @@ namespace libcmis
void toXml( xmlTextWriterPtr writer );
};
- typedef ::boost::shared_ptr< Object > ObjectPtr;
+ typedef boost::shared_ptr< Object > ObjectPtr;
}
#endif
diff --git a/src/libcmis/property-type.hxx b/src/libcmis/property-type.hxx
index 56be223..0fb490e 100644
--- a/src/libcmis/property-type.hxx
+++ b/src/libcmis/property-type.hxx
@@ -119,7 +119,7 @@ namespace libcmis
void update( std::vector< ObjectTypePtr > typesDefs );
};
- typedef ::boost::shared_ptr< PropertyType > PropertyTypePtr;
+ typedef boost::shared_ptr< PropertyType > PropertyTypePtr;
}
#endif
diff --git a/src/libcmis/property.hxx b/src/libcmis/property.hxx
index aa65605..567cefb 100644
--- a/src/libcmis/property.hxx
+++ b/src/libcmis/property.hxx
@@ -79,7 +79,7 @@ namespace libcmis
std::string toString( );
};
- typedef ::boost::shared_ptr< Property > PropertyPtr;
+ typedef boost::shared_ptr< Property > PropertyPtr;
typedef std::map< std::string, libcmis::PropertyPtr > PropertyPtrMap;
PropertyPtr parseProperty( xmlNodePtr node, boost::shared_ptr< ObjectType > objectType );
diff --git a/src/libcmis/rendition.hxx b/src/libcmis/rendition.hxx
index 2e38651..f8c23b4 100644
--- a/src/libcmis/rendition.hxx
+++ b/src/libcmis/rendition.hxx
@@ -81,7 +81,7 @@ namespace libcmis
std::string toString( );
};
- typedef ::boost::shared_ptr< Rendition > RenditionPtr;
+ typedef boost::shared_ptr< Rendition > RenditionPtr;
}
#endif
diff --git a/src/libcmis/repository.hxx b/src/libcmis/repository.hxx
index a4435d8..320cbb4 100644
--- a/src/libcmis/repository.hxx
+++ b/src/libcmis/repository.hxx
@@ -111,7 +111,7 @@ namespace libcmis
static std::map< Capability, std::string > parseCapabilities( xmlNodePtr node );
};
- typedef ::boost::shared_ptr< Repository > RepositoryPtr;
+ typedef boost::shared_ptr< Repository > RepositoryPtr;
}
#endif
diff --git a/src/libcmis/session-factory.hxx b/src/libcmis/session-factory.hxx
index 9349b1c..8cc1f26 100644
--- a/src/libcmis/session-factory.hxx
+++ b/src/libcmis/session-factory.hxx
@@ -57,7 +57,7 @@ namespace libcmis
*/
virtual bool authenticationQuery( std::string& username, std::string& password ) = 0;
};
- typedef ::boost::shared_ptr< AuthProvider > AuthProviderPtr;
+ typedef boost::shared_ptr< AuthProvider > AuthProviderPtr;
/** Handler class used to request user input when an invalid SSL certificate is encountered.
*/
@@ -77,7 +77,7 @@ namespace libcmis
*/
virtual bool validateCertificate( std::vector< std::string > certificatesChain ) = 0;
};
- typedef ::boost::shared_ptr< CertValidationHandler > CertValidationHandlerPtr;
+ typedef boost::shared_ptr< CertValidationHandler > CertValidationHandlerPtr;
class SessionFactory
{
diff --git a/src/libcmis/xml-utils.cxx b/src/libcmis/xml-utils.cxx
index 7070067..599edf2 100644
--- a/src/libcmis/xml-utils.cxx
+++ b/src/libcmis/xml-utils.cxx
@@ -551,7 +551,7 @@ namespace libcmis
string lower( sText );
for ( size_t i = 0; i < sText.size(); ++i )
{
- lower[i] = ::tolower( sText[i] );
+ lower[i] = tolower( sText[i] );
}
return lower;
}
--
2.9.4

View File

@@ -0,0 +1,127 @@
From ca381ff4586c9fc1190d285137ba8f67b102d600 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 16 May 2017 11:52:43 +0200
Subject: [PATCH 2/3] do not reinvent the wheel
---
configure.ac | 1 +
src/libcmis/atom-session.cxx | 3 ++-
src/libcmis/property.cxx | 4 +++-
src/libcmis/ws-relatedmultipart.cxx | 2 +-
src/libcmis/xml-utils.cxx | 11 -----------
src/libcmis/xml-utils.hxx | 2 --
6 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/configure.ac b/configure.ac
index 41b7a62..ae1eddb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -167,6 +167,7 @@ m4_pattern_allow([^BOOST_])
BOOST_REQUIRE([1.36])
BOOST_DATE_TIME
BOOST_SMART_PTR
+BOOST_STRING_ALGO
BOOST_UUID
AS_IF([test "x$enable_client" != "xno"], [
diff --git a/src/libcmis/atom-session.cxx b/src/libcmis/atom-session.cxx
index 5772efc..c263f58 100644
--- a/src/libcmis/atom-session.cxx
+++ b/src/libcmis/atom-session.cxx
@@ -27,6 +27,7 @@
*/
#include <string>
+#include <boost/algorithm/string.hpp>
#include <boost/shared_ptr.hpp>
#include <libxml/parser.h>
@@ -127,7 +128,7 @@ void AtomPubSession::parseServiceDocument( const string& buf ) throw ( libcmis::
m_repositoryId = ws->getId( );
// SharePoint is case insensitive for the id...
- if ( libcmis::tolower( ws->getId( ) ) == libcmis::tolower( m_repositoryId ) )
+ if ( boost::to_lower_copy( ws->getId( ) ) == boost::to_lower_copy( m_repositoryId ) )
m_repository = ws;
m_repositories.push_back( ws );
diff --git a/src/libcmis/property.cxx b/src/libcmis/property.cxx
index e0249a5..b303fe5 100644
--- a/src/libcmis/property.cxx
+++ b/src/libcmis/property.cxx
@@ -26,6 +26,8 @@
* instead of those above.
*/
+#include <boost/algorithm/string.hpp>
+
#include "object-type.hxx"
#include "property.hxx"
#include "xml-utils.hxx"
@@ -191,7 +193,7 @@ namespace libcmis
size_t pos = xmlType.find( propStr );
if ( pos == 0 ) {
xmlType = xmlType.substr( propStr.length( ) );
- xmlType = libcmis::tolower( xmlType );
+ boost::to_lower( xmlType );
}
propType.reset( new PropertyType( xmlType, propDefinitionId,
diff --git a/src/libcmis/ws-relatedmultipart.cxx b/src/libcmis/ws-relatedmultipart.cxx
index df2471a..3b31634 100644
--- a/src/libcmis/ws-relatedmultipart.cxx
+++ b/src/libcmis/ws-relatedmultipart.cxx
@@ -179,7 +179,7 @@ RelatedMultipart::RelatedMultipart( const string& body, const string& contentTyp
size_t colonPos = line.find( ":" );
string headerName = line.substr( 0, colonPos );
string headerValue = line.substr( colonPos + 1 );
- if ( libcmis::tolower( headerName ) == libcmis::tolower( "Content-Id" ) )
+ if ( boost::to_lower_copy( headerName ) == "content-id" )
{
cid = libcmis::trim( headerValue );
// Remove the '<' '>' around the id if any
diff --git a/src/libcmis/xml-utils.cxx b/src/libcmis/xml-utils.cxx
index 599edf2..d20ff47 100644
--- a/src/libcmis/xml-utils.cxx
+++ b/src/libcmis/xml-utils.cxx
@@ -26,7 +26,6 @@
* instead of those above.
*/
-#include <cctype>
#include <errno.h>
#include <sstream>
#include <stdlib.h>
@@ -546,16 +545,6 @@ namespace libcmis
return out.str();
}
- string tolower( string sText )
- {
- string lower( sText );
- for ( size_t i = 0; i < sText.size(); ++i )
- {
- lower[i] = tolower( sText[i] );
- }
- return lower;
- }
-
int stringstream_write_callback( void * context, const char * s, int len )
{
stringstream * ss=static_cast< stringstream * >( context );
diff --git a/src/libcmis/xml-utils.hxx b/src/libcmis/xml-utils.hxx
index 58e9e8d..3bb21bb 100644
--- a/src/libcmis/xml-utils.hxx
+++ b/src/libcmis/xml-utils.hxx
@@ -156,8 +156,6 @@ namespace libcmis
std::string sha1( const std::string& str );
- std::string tolower( std::string sText );
-
int stringstream_write_callback(void * context, const char * s, int len);
std::string escape( std::string str );
--
2.9.4

View File

@@ -0,0 +1,39 @@
From 86a50d6bad2ba44a8107ddb379d2ec6b84537a48 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 16 May 2017 11:58:12 +0200
Subject: [PATCH 3/3] fix build error with gcc -std=c++98
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
atom-object.cxx: In member function bool {anonymous}::MatchLink::operator()(AtomLink):
atom-object.cxx:63:91: error: no matching function for call to remove_if(std::__cxx11::basic_string<char>::iterator, std::__cxx11::basic_string<char>::iterator, <unresolved overloaded function type>)
linkType.erase( remove_if( linkType.begin(), linkType.end(), std::isspace ), linkType.end() );
---
src/libcmis/atom-object.cxx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/libcmis/atom-object.cxx b/src/libcmis/atom-object.cxx
index 01454a4..510f013 100644
--- a/src/libcmis/atom-object.cxx
+++ b/src/libcmis/atom-object.cxx
@@ -30,6 +30,7 @@
#include <locale>
#include <sstream>
+#include <boost/algorithm/string.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include "atom-document.hxx"
@@ -59,7 +60,7 @@ namespace
// Some implementations (xcmis) put extra spaces into the type attribute
// (e.g. "application/atom+xml; type=feed" instead of "application/atom+xml;type=feed")
string linkType = link.getType( );
- linkType.erase( remove_if( linkType.begin(), linkType.end(), isspace ), linkType.end() );
+ linkType.erase( remove_if( linkType.begin(), linkType.end(), boost::is_space() ), linkType.end() );
// Some implementation (SharePoint) are omitting the type attribute
bool matchesType = m_type.empty( ) || linkType.empty() || ( linkType == m_type );
--
2.9.4

View File

@@ -10,6 +10,9 @@ LIC_FILES_CHKSUM = " \
SRC_URI = " \
https://github.com/tdf/libcmis/releases/download/v${PV}/${BPN}-${PV}.tar.gz \
file://0001-Avoid-cross-compile-unsafe-paths.patch \
file://0002-drop-prefix.patch \
file://0003-do-not-reinvent-the-wheel.patch \
file://0004-fix-build-error-with-gcc-std-c-98.patch \
"
SRC_URI[md5sum] = "3270154f0f40d86fce849b161f914101"
@@ -21,6 +24,7 @@ DEPENDS = "curl libxml2 cppunit boost"
EXTRA_OECONF = " \
--without-man \
--disable-werror \
"
do_configure_prepend() {

View File

@@ -1,6 +1,6 @@
From a3fcf20a65c476b5b8a3f92ed3e950838f9e21b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Sun, 13 Mar 2016 01:04:20 +0100
Date: Thu, 30 Nov 2017 12:55:30 +0100
Subject: [PATCH] configure.ac: remove fixed paths causing trouble when cross
compiling
MIME-Version: 1.0
@@ -15,17 +15,17 @@ Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d135a2a..09ff3d7 100644
index f1c9003..1721444 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,7 +29,6 @@ AC_SUBST(MISCDIR)
AC_SUBST(QUICKCHECKDIR)
CPPFLAGS="$CPPFLAGS -Wall -Os -g -pedantic-errors -DMDDS_DEBUG_NODE_BASE -DMDDS_UNIT_TEST -std=c++11"
CPPFLAGS="$CPPFLAGS -Wall -O2 -g -pedantic-errors -DMDDS_DEBUG_NODE_BASE -DMDDS_UNIT_TEST -std=c++11"
-CPPFLAGS="$CPPFLAGS -I/usr/include -I/usr/local/include"
if test "$debug_stdcxx" = "yes"; then
CPPFLAGS="$CPPFLAGS -D_GLIBCXX_DEBUG"
--
2.5.0
2.9.5

View File

@@ -9,8 +9,8 @@ SRC_URI = " \
http://kohei.us/files/mdds/src/mdds-${PV}.tar.bz2 \
file://0001-configure.ac-remove-fixed-paths-causing-trouble-when.patch \
"
SRC_URI[md5sum] = "c300541adac09008aa4a305eacd1dca6"
SRC_URI[sha256sum] = "4253ab93fe8bb579321a50e247f1f800191ab99fe2d8c6c181741b8bd3fb161f"
SRC_URI[md5sum] = "913ef8b1680ad8b8407c3a4bb0c82634"
SRC_URI[sha256sum] = "dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1"
S = "${WORKDIR}/mdds-${PV}"

View File

@@ -1,34 +0,0 @@
From 3f97aac5a1f43ef57b02fb9ccdcadd41a6b69fa9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Tue, 27 Oct 2015 10:21:24 +0100
Subject: [PATCH] configure.ac: do additional checks on libxml2 also when
detected by pkg-config
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
[1] https://github.com/dajobe/raptor/pull/33
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 10ff870..35fa08e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -601,7 +601,7 @@ have_libxml=0
need_libxml=0
oCPPFLAGS="$CPPFLAGS"
-if test "X$XML_CONFIG" != X; then
+if test "X$libxml_source" != X; then
CPPFLAGS="$LIBXML_CFLAGS $CPPFLAGS"
LIBS="$LIBS $LIBXML_LIBS"
AC_CHECK_FUNC(xmlCreatePushParserCtxt, have_xmlCreatePushParserCtxt=yes, have_xmlCreatePushParserCtxt=no)
--
2.1.0

View File

@@ -1,23 +0,0 @@
SUMMARY = "Library for parsing and serializing RDF syntaxes"
LICENSE = "GPLv2 | LGPLv2"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
"
DEPENDS = "libxml2 libxslt curl yajl"
SRC_URI = " \
http://download.librdf.org/source/${BPN}-${PV}.tar.gz \
file://0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch \
"
SRC_URI[md5sum] = "a39f6c07ddb20d7dd2ff1f95fa21e2cd"
SRC_URI[sha256sum] = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed"
inherit autotools pkgconfig
EXTRA_OECONF = " \
--without-xml2-config \
--without-curl-config \
--without-xslt-config \
"

View File

@@ -12,3 +12,5 @@ SRC_URI[md5sum] = "1f5def51ca0026cd192958ef07228b52"
SRC_URI[sha256sum] = "6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c"
inherit autotools gtk-doc
LDFLAGS += "-lm"