Add patch to fix divs

This commit is contained in:
Gregory Hellings 2020-04-26 00:48:43 -05:00
parent 7661d12043
commit a3361d5879
2 changed files with 82 additions and 1 deletions

75
sword-1.8.1-fix-divs.diff Normal file
View File

@ -0,0 +1,75 @@
Index: trunk/src/mgr/stringmgr.cpp
===================================================================
--- trunk/src/mgr/stringmgr.cpp (revision 3718)
+++ trunk/src/mgr/stringmgr.cpp (revision 3721)
@@ -20,6 +20,7 @@
*
*/
+#include <ctype.h>
#include <stringmgr.h>
#include <swlog.h>
#include <localemgr.h>
Index: trunk/src/modules/filters/osisxhtml.cpp
===================================================================
--- trunk/src/modules/filters/osisxhtml.cpp (revision 3718)
+++ trunk/src/modules/filters/osisxhtml.cpp (revision 3721)
@@ -849,7 +849,11 @@
else if (tag.isEndTag()) {
outText("</div>", buf, u);
}
- else if (!(type == "colophon")) outText(tag, buf, u);
+ else if (!(type == "colophon")) {
+ if (tag.getAttribute("sID")) tag.setEmpty(false);
+ if (tag.getAttribute("eID")) tag.setEndTag(true);
+ outText(tag, buf, u);
+ }
}
else if (!strcmp(tag.getName(), "span")) {
Index: trunk/src/utilfuns/utilxml.cpp
===================================================================
--- trunk/src/utilfuns/utilxml.cpp (revision 3718)
+++ trunk/src/utilfuns/utilxml.cpp (revision 3721)
@@ -291,13 +291,16 @@
tag.append('/');
tag.append(getName());
- for (StringPairMap::iterator it = attributes.begin(); it != attributes.end(); it++) {
- //tag.appendFormatted(" %s=\"%s\"", it->first.c_str(), it->second.c_str());
- tag.append(' ');
- tag.append(it->first.c_str());
- tag.append((strchr(it->second.c_str(), '\"')) ? "=\'" : "=\"");
- tag.append(it->second.c_str());
- tag.append((strchr(it->second.c_str(), '\"'))? '\'' : '\"');
+
+ if (!isEndTag()) {
+ for (StringPairMap::iterator it = attributes.begin(); it != attributes.end(); it++) {
+ //tag.appendFormatted(" %s=\"%s\"", it->first.c_str(), it->second.c_str());
+ tag.append(' ');
+ tag.append(it->first.c_str());
+ tag.append((strchr(it->second.c_str(), '\"')) ? "=\'" : "=\"");
+ tag.append(it->second.c_str());
+ tag.append((strchr(it->second.c_str(), '\"'))? '\'' : '\"');
+ }
}
if (isEmpty())
Index: trunk/include/utilxml.h
===================================================================
--- trunk/include/utilxml.h (revision 3718)
+++ trunk/include/utilxml.h (revision 3721)
@@ -75,6 +75,13 @@
* otherwise, we return if we're a simple XML end </tag>.
*/
bool isEndTag(const char *eID = 0) const;
+ inline void setEndTag(bool value) {
+ if (!parsed)
+ parse();
+ endTag = value;
+ if (value)
+ empty = false;
+ }
const StringList getAttributeNames() const;
int getAttributePartCount(const char *attribName, char partSplit = '|') const;

View File

@ -2,7 +2,7 @@
Name: sword
Version: 1.8.1
Release: 18%{?dist}
Release: 19%{?dist}
Summary: Free Bible Software Project
License: GPLv2
URL: http://www.crosswire.org/sword/
@ -12,6 +12,8 @@ Patch1: sword-1.8.1-icu61.diff
Patch2: sword-1.8.1-swig.diff
Patch3: sword-1.8.1-swig-perl.diff
Patch4: sword-1.8.1-integer-types.diff
# svn diff -r3718:3721
Patch5: sword-1.8.1-fix-divs.diff
BuildRequires: cmake
BuildRequires: cmake-data
BuildRequires: openssl-devel
@ -86,6 +88,7 @@ Perl bindings for The SWORD Library.
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
mkdir build
@ -159,6 +162,9 @@ make tests
%changelog
* Sun Apr 26 2020 Greg Hellings <greg.hellings@gmail.com> - 1.8.1-19
- Added patch to fix upstream markup bug
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild