Hello community,

here is the log from the commit of package liborcus for openSUSE:Factory 
checked in at 2016-06-14 23:04:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/liborcus (Old)
 and      /work/SRC/openSUSE:Factory/.liborcus.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "liborcus"

Changes:
--------
--- /work/SRC/openSUSE:Factory/liborcus/liborcus.changes        2016-05-19 
12:03:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.liborcus.new/liborcus.changes   2016-06-14 
23:04:55.000000000 +0200
@@ -1,0 +2,14 @@
+Wed May 25 11:56:35 UTC 2016 - [email protected]
+
+- Version update to 0.11.2:
+  * Fix build with mdds 1.2
+  * few small fixes
+
+-------------------------------------------------------------------
+Wed May 25 11:05:48 UTC 2016 - [email protected]
+
+- Changes from version 0.11.1:
+  + Fix for OSX build inside LibreOffice.
+  + Boost.Filesystem is needed uncoditionally.
+
+-------------------------------------------------------------------

Old:
----
  liborcus-0.11.0.tar.xz

New:
----
  liborcus-0.11.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ liborcus.spec ++++++
--- /var/tmp/diff_new_pack.j9H1A0/_old  2016-06-14 23:04:56.000000000 +0200
+++ /var/tmp/diff_new_pack.j9H1A0/_new  2016-06-14 23:04:56.000000000 +0200
@@ -18,7 +18,7 @@
 
 %define libname liborcus-0_11-0
 Name:           liborcus
-Version:        0.11.0
+Version:        0.11.2
 Release:        0
 Summary:        Spreadsheet file processing library
 License:        MIT
@@ -32,7 +32,7 @@
 BuildRequires:  pkg-config
 BuildRequires:  python-xml
 BuildRequires:  pkgconfig(libixion-0.11)
-BuildRequires:  pkgconfig(mdds-1.0)
+BuildRequires:  pkgconfig(mdds-1.2)
 BuildRequires:  pkgconfig(python3)
 BuildRequires:  pkgconfig(zlib)
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ liborcus-0.11.0.tar.xz -> liborcus-0.11.2.tar.xz ++++++
++++ 3311 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/CHANGELOG new/liborcus-0.11.2/CHANGELOG
--- old/liborcus-0.11.0/CHANGELOG       1970-01-01 01:00:00.000000000 +0100
+++ new/liborcus-0.11.2/CHANGELOG       2016-03-12 03:49:49.000000000 +0100
@@ -0,0 +1,25 @@
+orcus 0.11.1
+
+  * fixed various build issues with MSVC and clang on OSX.
+
+orcus 0.11.0
+
+  * remove boost dependency from the public headers.
+
+  * implement JSON parser and document storage model.
+
+  * implement YAML parser and document storage model.
+
+  * add orcus-json.
+
+  * add orcus-yaml.
+
+  * improve parse error output from the XML parser.
+
+  * use enum class in import_style::set_border_style().
+
+  * support non-local file import.
+
+orcus 0.1.0
+
+  * initial release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/ChangeLog new/liborcus-0.11.2/ChangeLog
--- old/liborcus-0.11.0/ChangeLog       2016-03-04 04:38:12.000000000 +0100
+++ new/liborcus-0.11.2/ChangeLog       2016-05-12 03:04:28.000000000 +0200
@@ -1,3 +1,55 @@
+2016-05-11  Kohei Yoshida  <[email protected]>  
[d6084fe1771052e516ecfb270cb24dd9917a1895]
+
+       Up the version to 0.11.2.
+
+
+2016-05-11  Kohei Yoshida  <[email protected]>  
[70fd8327c94b27a99e2c7800e91c13e5099cceda]
+
+       Make it buildable with mdds-1.2.
+
+
+2016-03-11  Kohei Yoshida  <[email protected]>  
[00037fa23178c3876b31272cc2becacbf6b0dc07]
+
+       Up the version to 0.11.1.
+
+
+2016-03-08  David Tardon  <[email protected]>  
[821f16a55b7d87a2a5fca1c90221c0ee084ac7a5]
+
+       distribute renamed files again
+
+       They are not distributed automatically anymore because they have
+       non-standard names.
+
+2016-03-08  David Tardon  <[email protected]>  
[eac3ccbf24d3b7dcb83d2451361a2eaac1255b0d]
+
+       add new tools to gitignore
+
+
+2016-03-08  David Tardon  <[email protected]>  
[d3536f3125507ac1ed7a8d4f81a9450fd0bd32ea]
+
+       Boost.Filesystem is needed uncoditionally
+
+
+2016-03-07  Kohei Yoshida  <[email protected]>  
[c5d7282214727bcc28b6ec7e2b8016b40872cd3b]
+
+       Get it to build on Windows.
+
+
+2016-03-06  Kohei Yoshida  <[email protected]>  
[a1df2d984d527931c6cbbe6547856283bdbf6a9b]
+
+       Fix for OSX build inside LibreOffice.
+
+
+2016-03-03  Kohei Yoshida  <[email protected]>  
[1bc8ff1c677ab5684f633190093f6aebe1b0e861]
+
+       Add API Version column.
+
+
+2016-03-03  Kohei Yoshida  <[email protected]>  
[19ea60f04a273679b2c006645c82899b6c5a61aa]
+
+       Add download links to the 0.11.0 package.
+
+
 2016-03-03  Kohei Yoshida  <[email protected]>  
[5a5f0aa54cd8549255cc020643ae102732c207c1]
 
        Fix build on OSX.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/LICENSE new/liborcus-0.11.2/LICENSE
--- old/liborcus-0.11.0/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/liborcus-0.11.2/LICENSE 2015-01-27 04:37:35.000000000 +0100
@@ -0,0 +1,4 @@
+This Source Code Form is subject to the terms of the Mozilla Public
+License, v. 2.0. If a copy of the MPL was not distributed with this
+file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/Makefile.am new/liborcus-0.11.2/Makefile.am
--- old/liborcus-0.11.0/Makefile.am     2016-03-02 05:22:38.000000000 +0100
+++ new/liborcus-0.11.2/Makefile.am     2016-03-12 02:53:00.000000000 +0100
@@ -232,6 +232,9 @@
     vsprojects/orcus-gnumeric/orcus-gnumeric.vcproj
 
 EXTRA_DIST = \
+       CHANGELOG \
+       LICENSE \
+       README.md \
        liborcus.pc.in \
        autogen.sh \
        $(bin_data) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/README.md new/liborcus-0.11.2/README.md
--- old/liborcus-0.11.0/README.md       1970-01-01 01:00:00.000000000 +0100
+++ new/liborcus-0.11.2/README.md       2016-05-12 03:01:34.000000000 +0200
@@ -0,0 +1,87 @@
+Orcus - library for processing spreadsheet documents.
+=====================================================
+
+Orcus is a library that provides a collection of standalone file processing
+filters.  It is currently focused on providing filters for spreadsheet
+documents, but filters for other productivity application types (such as
+wordprocessor and presentation) are in consideration.
+
+The library currently includes the following import filters:
+
+* Microsoft Excel 2007 XML
+* Microsoft Excel 2003 XML
+* Open Document Spreadsheet
+* Plain Text
+* Gnumeric XML
+* Generic XML
+
+The library also includes low-level parsers for the following:
+
+* CSV
+* CSS
+* XML
+* JSON
+* YAML
+
+These parsers are all implemented as C++ templates and require a handler class
+passed as a template argument so that the handler class receives various
+callbacks from the parser as the file is being parsed.
+
+## Download source packages
+
+| Version | API Version | Release Date | Download | Checksum | File Size 
(bytes) |
+|---------|-------------|--------------|----------|----------|-------------------|
+| 0.11.0 | 0.11.0 | 2016-03-03 | 
[liborcus-0.11.0.tar.xz](http://kohei.us/files/orcus/src/liborcus-0.11.0.tar.xz)
 | sha256sum: bc4eefe44b3237004df7edb8b98cf74ac4e18f117b901e08c2b435ec339b0f97 
| 1624972 |
+| | | | 
[liborcus-0.11.0.tar.gz](http://kohei.us/files/orcus/src/liborcus-0.11.0.tar.gz)
 | sha256sum: 7af7b9993801dd0b1ccdf734f51c1617975f92bcb9396c4de49ed88444e5b357 
| 2032540 |
+| 0.9.2 | | 2015-06-18 | 
[liborcus-0.9.2.tar.xz](http://kohei.us/files/orcus/src/liborcus-0.9.2.tar.xz) 
| md5sum: 3ff918cc988cb325e12d8bbc7f8c3deb<br/>sha1sum: 
4c55f1bdc65490e8e79bbf7d069a64381eb1d1bc | - |
+| | | | 
[liborcus-0.9.2.tar.gz](http://kohei.us/files/orcus/src/liborcus-0.9.2.tar.gz) 
| md5sum: e6efcbe50a5fd4d50d513c9a7a4139b0<br/>sha1sum: 
f44c7ec7bd0c54f506efe3cb600bca4cd1401638 | - |
+| 0.9.1 | | 2015-05-17 | 
[liborcus-0.9.1.tar.xz](http://kohei.us/files/orcus/src/liborcus-0.9.1.tar.xz) 
| md5sum: 88d24d9d8c5cc9014c1e842a4f612921<br/>sha1sum: 
2115ccccad88c528bc9d3ac5d0cc287f80f03529 | - |
+| | | | 
[liborcus-0.9.1.tar.gz](http://kohei.us/files/orcus/src/liborcus-0.9.1.tar.gz) 
| md5sum: 18814358772ed7bb476e04b0384af082<br/>sha1sum: 
c9755028ef50c518c5a17fb78ddf9e85519999c0 | - |
+| 0.9.0 | | 2015-04-18 | 
[liborcus-0.9.0.tar.xz](http://kohei.us/files/orcus/src/liborcus-0.9.0.tar.xz) 
| md5sum: 3f64f27b9fd59e55ca4c5ba95cd32da0<br/>sha1sum: 
72d1bdb7fbaec9adce36ed728e08e16b951388e3 | - |
+| 0.7.1 | | 2015-02-24 | 
[liborcus-0.7.1.tar.xz](http://kohei.us/files/orcus/src/liborcus-0.7.1.tar.xz) 
| md5sum: 644145470758d3ea4dd1d63582e82f8e<br/>sha1sum: 
4480f519c6724ee66d76072df32e9b12d55505da | - |
+| 0.7.0 | | 2013-12-14 | 
[liborcus-0.7.0.tar.bz2](http://kohei.us/files/orcus/src/liborcus-0.7.0.tar.bz2)
 | md5sum: 7681383be6ce489d84c1c74f4e7f9643<br/>sha1sum: 
c33e1eb55144fef1070cb0bf35a2c12198fcaa71 | - |
+| 0.5.2 | | 2013-05-21 | 
[liborcus-0.5.2.tar.bz2](http://kohei.us/files/orcus/src/liborcus-0.5.2.tar.bz2)
 | md5sum: c0bd33e0ff17f469032062e2ee60ecb0<br/>sha1sum: 
f2638bf0b0e1715c49f1a8d356bb88a21de31dad | - |
+| 0.5.1 | | 2013-04-13 | 
[liborcus-0.5.1.tar.bz2](http://kohei.us/files/orcus/src/liborcus-0.5.1.tar.bz2)
 | md5sum: ea2acaf140ae40a87a952caa75184f4d<br/>sha1sum: 
9303d513e4b63a1d6e4bce7cfeb13635e568b466 | - |
+| 0.5.0 | | 2013-04-11 | 
[liborcus-0.5.0.tar.bz2](http://kohei.us/files/orcus/src/liborcus-0.5.0.tar.bz2)
 | md5sum: 8a43b3de758dcd529b16ac96b46069fb<br/>sha1sum: 
ad76bed79b123e331f0b6dced6e9085a81b92449 | - |
+| 0.3.0 | | 2012-11-28 | 
[liborcus_0.3.0.tar.bz2](http://kohei.us/files/orcus/src/liborcus_0.3.0.tar.bz2)
 | md5sum: 8755aac23317494a9028569374dc87b2<br/>sha1sum: 
73b8fae832453fd517015f5dfae36448658af1a9 | - |
+| 0.1.0 | | 2012-09-07 | 
[liborcus_0.1.0.tar.bz2](http://kohei.us/files/orcus/src/liborcus_0.1.0.tar.bz2)
 | md5sum: 46d9f4cf8b145c21ce1056e116d2ce71<br/>sha1sum: 
7c961dd8f0bdd7ed039f305d6419be3cbdcc6cc6 | - |
+
+## Building from source code
+
+Orcus uses autoconf and automake as its build system.  As such, building it
+from sources should be familiar to those who are used to these tools.
+
+In short, run the following command:
+
+```bash
+./autogen.sh
+make
+make install
+```
+
+at the root directory after either cloning from the repository or unpacking
+the source package.
+
+### Build dependencies
+
+Orcus has build-time dependency on the following libraries:
+
+* [boost](http://boost.org)
+* [mdds](http://gitlab.com/mdds/mdds)
+* [ixion](http://gitlab.com/ixion/ixion)
+* [zlib](http://www.zlib.net/)
+
+Note that when you are building from the master branch of the git repository,
+we recommend that you also use the latest mdds source code from its git
+repository for the build as well as the latest ixion library built from its
+git repository, else you may encounter build issues or test failures.
+
+### Building documentation
+
+Orcus uses a combination of [Doxygen](http://www.stack.nl/~dimitri/doxygen/),
+[Sphinx](http://sphinx-doc.org/) and 
[Breathe](https://github.com/michaeljones/breathe)
+to build its documentation.  It also use [Sphinx Bootstrap 
Theme](https://ryan-roemer.github.io/sphinx-bootstrap-theme/)
+for the page layout and theme.
+
+Most distros package Doxygen, and Sphinx, Breathe and Sphinx Bootstrap Theme
+can be installed via pip.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/configure.ac new/liborcus-0.11.2/configure.ac
--- old/liborcus-0.11.0/configure.ac    2016-03-02 02:47:56.000000000 +0100
+++ new/liborcus-0.11.2/configure.ac    2016-05-12 03:03:08.000000000 +0200
@@ -8,7 +8,7 @@
 # ===================
 m4_define([orcus_major_version], [0])
 m4_define([orcus_minor_version], [11])
-m4_define([orcus_micro_version], [0])
+m4_define([orcus_micro_version], [2])
 m4_define([orcus_version], 
[orcus_major_version.orcus_minor_version.orcus_micro_version])
 
 # ===============
@@ -82,6 +82,7 @@
 AC_SUBST(ORCUS_MICRO_VERSION)
 
 BOOST_REQUIRE([1.36])
+BOOST_FILESYSTEM
 BOOST_SYSTEM
 
 # ==============
@@ -182,14 +183,13 @@
 
 AS_IF([test "x$with_tools" != "xno"], [
         BOOST_PROGRAM_OPTIONS
-        BOOST_FILESYSTEM
         BOOST_SYSTEM
 ])
 
 # ============
 # mdds support
 # ============
-PKG_CHECK_MODULES([MDDS],[mdds-1.0 >= 1.0.0])
+PKG_CHECK_MODULES([MDDS],[mdds-1.2 >= 1.2.0])
 CXXFLAGS="$CXXFLAGS $MDDS_CFLAGS"
 
 # =================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/include/orcus/json_parser.hpp 
new/liborcus-0.11.2/include/orcus/json_parser.hpp
--- old/liborcus-0.11.0/include/orcus/json_parser.hpp   2015-11-04 
02:41:20.000000000 +0100
+++ new/liborcus-0.11.2/include/orcus/json_parser.hpp   2016-03-08 
04:03:17.000000000 +0100
@@ -204,16 +204,13 @@
         if (!res.str)
         {
             // Parsing was unsuccessful.
-            switch (res.length)
-            {
-                case parse_quoted_string_state::error_no_closing_quote:
-                    throw json::parse_error("object: stream ended prematurely 
before reaching the closing quote of a key.", offset());
-                case parse_quoted_string_state::error_illegal_escape_char:
-                    json::parse_error::throw_with(
-                        "object: illegal escape character '", cur_char(), "' 
in key value.", offset());
-                default:
-                    throw json::parse_error("object: unknown error while 
parsing a key value.", offset());
-            }
+            if (res.length == 
parse_quoted_string_state::error_no_closing_quote)
+                throw json::parse_error("object: stream ended prematurely 
before reaching the closing quote of a key.", offset());
+            else if (res.length == 
parse_quoted_string_state::error_illegal_escape_char)
+                json::parse_error::throw_with(
+                    "object: illegal escape character '", cur_char(), "' in 
key value.", offset());
+            else
+                throw json::parse_error("object: unknown error while parsing a 
key value.", offset());
         }
 
         m_handler.object_key(res.str, res.length, res.transient);
@@ -297,15 +294,12 @@
     }
 
     // Parsing was unsuccessful.
-    switch (res.length)
-    {
-        case parse_quoted_string_state::error_no_closing_quote:
-            throw json::parse_error("string: stream ended prematurely before 
reaching the closing quote.", offset());
-        case parse_quoted_string_state::error_illegal_escape_char:
-            json::parse_error::throw_with("string: illegal escape character 
'", cur_char(), "'.", offset());
-        default:
-            throw json::parse_error("string: unknown error.", offset());
-    }
+    if (res.length == parse_quoted_string_state::error_no_closing_quote)
+        throw json::parse_error("string: stream ended prematurely before 
reaching the closing quote.", offset());
+    else if (res.length == 
parse_quoted_string_state::error_illegal_escape_char)
+        json::parse_error::throw_with("string: illegal escape character '", 
cur_char(), "'.", offset());
+    else
+        throw json::parse_error("string: unknown error.", offset());
 }
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/include/orcus/parser_global.hpp 
new/liborcus-0.11.2/include/orcus/parser_global.hpp
--- old/liborcus-0.11.0/include/orcus/parser_global.hpp 2015-10-01 
23:39:58.000000000 +0200
+++ new/liborcus-0.11.2/include/orcus/parser_global.hpp 2016-03-08 
04:10:31.000000000 +0100
@@ -31,8 +31,8 @@
  */
 struct parse_quoted_string_state
 {
-    static constexpr size_t error_no_closing_quote    = 1;
-    static constexpr size_t error_illegal_escape_char = 2;
+    ORCUS_PSR_DLLPUBLIC static const size_t error_no_closing_quote;
+    ORCUS_PSR_DLLPUBLIC static const size_t error_illegal_escape_char;
 
     const char* str;
     size_t length;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/include/orcus/sax_ns_parser.hpp 
new/liborcus-0.11.2/include/orcus/sax_ns_parser.hpp
--- old/liborcus-0.11.0/include/orcus/sax_ns_parser.hpp 2015-10-10 
02:42:50.000000000 +0200
+++ new/liborcus-0.11.2/include/orcus/sax_ns_parser.hpp 2016-03-07 
03:41:55.000000000 +0100
@@ -142,7 +142,7 @@
 
         void start_element(const sax::parser_element& elem)
         {
-            m_scopes.push_back(make_unique<__sax::elem_scope>());
+            m_scopes.push_back(orcus::make_unique<__sax::elem_scope>());
             __sax::elem_scope& scope = *m_scopes.back();
             scope.ns = m_ns_cxt.get(elem.ns);
             scope.name = elem.name;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/slickedit/orcus.vpj new/liborcus-0.11.2/slickedit/orcus.vpj
--- old/liborcus-0.11.0/slickedit/orcus.vpj     2015-11-04 02:41:20.000000000 
+0100
+++ new/liborcus-0.11.2/slickedit/orcus.vpj     2016-05-12 03:01:34.000000000 
+0200
@@ -145,6 +145,10 @@
             Filters=""></Folder>
     </CustomFolders>
     <Files AutoFolders="DirectoryView">
+        <Folder Name="../example">
+            <F N="../example/json.cpp"/>
+            <F N="../example/json_parser.cpp"/>
+        </Folder>
         <Folder Name="../include">
             <Folder Name="orcus">
                 <Folder Name="mso">
@@ -186,6 +190,7 @@
                 <F N="../include/orcus/measurement.hpp"/>
                 <F N="../include/orcus/orcus_csv.hpp"/>
                 <F N="../include/orcus/orcus_gnumeric.hpp"/>
+                <F N="../include/orcus/orcus_import_ods.hpp"/>
                 <F N="../include/orcus/orcus_import_xlsx.hpp"/>
                 <F N="../include/orcus/orcus_ods.hpp"/>
                 <F N="../include/orcus/orcus_xls_xml.hpp"/>
@@ -193,43 +198,34 @@
                 <F N="../include/orcus/orcus_xml.hpp"/>
                 <F N="../include/orcus/parser_base.hpp"/>
                 <F N="../include/orcus/parser_global.hpp"/>
-                <F N="../include/orcus/parser_global.hpp"/>
-                <F N="../include/orcus/pstring.hpp"/>
                 <F N="../include/orcus/pstring.hpp"/>
                 <F N="../include/orcus/sax_ns_parser.hpp"/>
-                <F N="../include/orcus/sax_ns_parser.hpp"/>
-                <F N="../include/orcus/sax_parser.hpp"/>
                 <F N="../include/orcus/sax_parser.hpp"/>
                 <F N="../include/orcus/sax_parser_base.hpp"/>
-                <F N="../include/orcus/sax_parser_base.hpp"/>
-                <F N="../include/orcus/sax_token_parser.hpp"/>
                 <F N="../include/orcus/sax_token_parser.hpp"/>
                 <F N="../include/orcus/stream.hpp"/>
-                <F N="../include/orcus/stream.hpp"/>
                 <F N="../include/orcus/string_pool.hpp"/>
-                <F N="../include/orcus/string_pool.hpp"/>
-                <F N="../include/orcus/tokens.hpp"/>
                 <F N="../include/orcus/tokens.hpp"/>
                 <F N="../include/orcus/types.hpp"/>
-                <F N="../include/orcus/types.hpp"/>
-                <F N="../include/orcus/xml_namespace.hpp"/>
                 <F N="../include/orcus/xml_namespace.hpp"/>
                 <F N="../include/orcus/xml_structure_tree.hpp"/>
-                <F N="../include/orcus/xml_structure_tree.hpp"/>
                 <F N="../include/orcus/yaml_document_tree.hpp"/>
                 <F N="../include/orcus/yaml_parser.hpp"/>
                 <F N="../include/orcus/yaml_parser_base.hpp"/>
                 <F N="../include/orcus/zip_archive.hpp"/>
-                <F N="../include/orcus/zip_archive.hpp"/>
-                <F N="../include/orcus/zip_archive_stream.hpp"/>
                 <F N="../include/orcus/zip_archive_stream.hpp"/>
             </Folder>
         </Folder>
+        <Folder Name="../misc">
+            <F N="../misc/sorted_string_map_perf.cpp"/>
+        </Folder>
         <Folder Name="../parser_handlers">
             <F N="../parser_handlers/css.hpp"/>
             <F N="../parser_handlers/css_test.cpp"/>
             <F N="../parser_handlers/csv.hpp"/>
             <F N="../parser_handlers/csv_test.cpp"/>
+            <F N="../parser_handlers/json.hpp"/>
+            <F N="../parser_handlers/json_test.cpp"/>
             <F N="../parser_handlers/sax.hpp"/>
             <F N="../parser_handlers/sax_ns.hpp"/>
             <F N="../parser_handlers/sax_ns_test.cpp"/>
@@ -240,308 +236,172 @@
         <Folder Name="../src">
             <Folder Name="liborcus">
                 <F N="../src/liborcus/common_test.cpp"/>
-                <F N="../src/liborcus/common_test.cpp"/>
-                <F N="../src/liborcus/config.cpp"/>
                 <F N="../src/liborcus/config.cpp"/>
+                <F N="../src/liborcus/constants.inl"/>
                 <F N="../src/liborcus/css_document_tree.cpp"/>
-                <F N="../src/liborcus/css_document_tree.cpp"/>
-                <F N="../src/liborcus/css_document_tree_test.cpp"/>
                 <F N="../src/liborcus/css_document_tree_test.cpp"/>
                 <F N="../src/liborcus/css_selector.cpp"/>
-                <F N="../src/liborcus/css_selector.cpp"/>
-                <F N="../src/liborcus/detection_result.cpp"/>
                 <F N="../src/liborcus/detection_result.cpp"/>
                 <F N="../src/liborcus/detection_result.hpp"/>
-                <F N="../src/liborcus/detection_result.hpp"/>
                 <F N="../src/liborcus/dom_tree.cpp"/>
-                <F N="../src/liborcus/dom_tree.cpp"/>
-                <F N="../src/liborcus/format_detection.cpp"/>
                 <F N="../src/liborcus/format_detection.cpp"/>
                 <F N="../src/liborcus/format_detection_test.cpp"/>
-                <F N="../src/liborcus/format_detection_test.cpp"/>
-                <F N="../src/liborcus/global.cpp"/>
                 <F N="../src/liborcus/global.cpp"/>
                 <F N="../src/liborcus/gnumeric_cell_context.cpp"/>
-                <F N="../src/liborcus/gnumeric_cell_context.cpp"/>
                 <F N="../src/liborcus/gnumeric_cell_context.hpp"/>
-                <F N="../src/liborcus/gnumeric_cell_context.hpp"/>
-                <F N="../src/liborcus/gnumeric_cell_context_test.cpp"/>
                 <F N="../src/liborcus/gnumeric_cell_context_test.cpp"/>
                 <F N="../src/liborcus/gnumeric_context.cpp"/>
-                <F N="../src/liborcus/gnumeric_context.cpp"/>
-                <F N="../src/liborcus/gnumeric_context.hpp"/>
                 <F N="../src/liborcus/gnumeric_context.hpp"/>
                 <F N="../src/liborcus/gnumeric_detection_handler.cpp"/>
-                <F N="../src/liborcus/gnumeric_detection_handler.cpp"/>
                 <F N="../src/liborcus/gnumeric_detection_handler.hpp"/>
-                <F N="../src/liborcus/gnumeric_detection_handler.hpp"/>
-                <F N="../src/liborcus/gnumeric_handler.cpp"/>
                 <F N="../src/liborcus/gnumeric_handler.cpp"/>
                 <F N="../src/liborcus/gnumeric_handler.hpp"/>
-                <F N="../src/liborcus/gnumeric_handler.hpp"/>
-                <F N="../src/liborcus/gnumeric_helper.cpp"/>
                 <F N="../src/liborcus/gnumeric_helper.cpp"/>
                 <F N="../src/liborcus/gnumeric_helper.hpp"/>
-                <F N="../src/liborcus/gnumeric_helper.hpp"/>
                 <F N="../src/liborcus/gnumeric_helper_test.cpp"/>
                 <F N="../src/liborcus/gnumeric_namespace_types.cpp"/>
-                <F N="../src/liborcus/gnumeric_namespace_types.cpp"/>
-                <F N="../src/liborcus/gnumeric_namespace_types.hpp"/>
                 <F N="../src/liborcus/gnumeric_namespace_types.hpp"/>
                 <F N="../src/liborcus/gnumeric_sheet_context.cpp"/>
-                <F N="../src/liborcus/gnumeric_sheet_context.cpp"/>
-                <F N="../src/liborcus/gnumeric_sheet_context.hpp"/>
                 <F N="../src/liborcus/gnumeric_sheet_context.hpp"/>
                 <F N="../src/liborcus/gnumeric_sheet_context_test.cpp"/>
-                <F N="../src/liborcus/gnumeric_sheet_context_test.cpp"/>
                 <F N="../src/liborcus/gnumeric_token_constants.hpp"/>
-                <F N="../src/liborcus/gnumeric_token_constants.hpp"/>
-                <F N="../src/liborcus/gnumeric_token_constants.inl"/>
                 <F N="../src/liborcus/gnumeric_token_constants.inl"/>
                 <F N="../src/liborcus/gnumeric_tokens.cpp"/>
-                <F N="../src/liborcus/gnumeric_tokens.cpp"/>
-                <F N="../src/liborcus/gnumeric_tokens.hpp"/>
                 <F N="../src/liborcus/gnumeric_tokens.hpp"/>
                 <F N="../src/liborcus/gnumeric_tokens.inl"/>
-                <F N="../src/liborcus/gnumeric_tokens.inl"/>
                 <F N="../src/liborcus/info.cpp"/>
                 <F N="../src/liborcus/interface.cpp"/>
-                <F N="../src/liborcus/interface.cpp"/>
                 <F N="../src/liborcus/json_document_tree.cpp"/>
                 <F N="../src/liborcus/json_document_tree_test.cpp"/>
                 <F N="../src/liborcus/json_util.cpp"/>
                 <F N="../src/liborcus/json_util.hpp"/>
                 <F N="../src/liborcus/measurement.cpp"/>
-                <F N="../src/liborcus/measurement.cpp"/>
                 <F N="../src/liborcus/mock_spreadsheet.cpp"/>
-                <F N="../src/liborcus/mock_spreadsheet.cpp"/>
-                <F N="../src/liborcus/mock_spreadsheet.hpp"/>
                 <F N="../src/liborcus/mock_spreadsheet.hpp"/>
-                <F N="../src/liborcus/odf_namespace_types.cpp"/>
+                <F N="../src/liborcus/odf_helper.cpp"/>
+                <F N="../src/liborcus/odf_helper.hpp"/>
+                <F N="../src/liborcus/odf_helper_test.cpp"/>
                 <F N="../src/liborcus/odf_namespace_types.cpp"/>
                 <F N="../src/liborcus/odf_namespace_types.hpp"/>
-                <F N="../src/liborcus/odf_namespace_types.hpp"/>
-                <F N="../src/liborcus/odf_namespace_types_cpp.inl"/>
                 <F N="../src/liborcus/odf_namespace_types_cpp.inl"/>
                 <F N="../src/liborcus/odf_namespace_types_hpp.inl"/>
-                <F N="../src/liborcus/odf_namespace_types_hpp.inl"/>
-                <F N="../src/liborcus/odf_para_context.cpp"/>
                 <F N="../src/liborcus/odf_para_context.cpp"/>
                 <F N="../src/liborcus/odf_para_context.hpp"/>
-                <F N="../src/liborcus/odf_para_context.hpp"/>
                 <F N="../src/liborcus/odf_styles.cpp"/>
-                <F N="../src/liborcus/odf_styles.cpp"/>
-                <F N="../src/liborcus/odf_styles.hpp"/>
                 <F N="../src/liborcus/odf_styles.hpp"/>
                 <F N="../src/liborcus/odf_styles_context.cpp"/>
-                <F N="../src/liborcus/odf_styles_context.cpp"/>
-                <F N="../src/liborcus/odf_styles_context.hpp"/>
                 <F N="../src/liborcus/odf_styles_context.hpp"/>
-                <F N="../src/liborcus/odf_token_constants.hpp"/>
+                <F N="../src/liborcus/odf_styles_context_test.cpp"/>
                 <F N="../src/liborcus/odf_token_constants.hpp"/>
                 <F N="../src/liborcus/odf_token_constants.inl"/>
-                <F N="../src/liborcus/odf_token_constants.inl"/>
-                <F N="../src/liborcus/odf_tokens.cpp"/>
                 <F N="../src/liborcus/odf_tokens.cpp"/>
                 <F N="../src/liborcus/odf_tokens.hpp"/>
-                <F N="../src/liborcus/odf_tokens.hpp"/>
-                <F N="../src/liborcus/odf_tokens.inl"/>
                 <F N="../src/liborcus/odf_tokens.inl"/>
                 <F N="../src/liborcus/ods_content_xml_context.cpp"/>
-                <F N="../src/liborcus/ods_content_xml_context.cpp"/>
                 <F N="../src/liborcus/ods_content_xml_context.hpp"/>
-                <F N="../src/liborcus/ods_content_xml_context.hpp"/>
-                <F N="../src/liborcus/ods_content_xml_handler.cpp"/>
                 <F N="../src/liborcus/ods_content_xml_handler.cpp"/>
                 <F N="../src/liborcus/ods_content_xml_handler.hpp"/>
-                <F N="../src/liborcus/ods_content_xml_handler.hpp"/>
-                <F N="../src/liborcus/ods_session_data.cpp"/>
                 <F N="../src/liborcus/ods_session_data.cpp"/>
                 <F N="../src/liborcus/ods_session_data.hpp"/>
-                <F N="../src/liborcus/ods_session_data.hpp"/>
                 <F N="../src/liborcus/ooxml_content_types.cpp"/>
-                <F N="../src/liborcus/ooxml_content_types.cpp"/>
-                <F N="../src/liborcus/ooxml_content_types.hpp"/>
                 <F N="../src/liborcus/ooxml_content_types.hpp"/>
                 <F N="../src/liborcus/ooxml_global.cpp"/>
-                <F N="../src/liborcus/ooxml_global.cpp"/>
-                <F N="../src/liborcus/ooxml_global.hpp"/>
                 <F N="../src/liborcus/ooxml_global.hpp"/>
                 <F N="../src/liborcus/ooxml_namespace_types.cpp"/>
-                <F N="../src/liborcus/ooxml_namespace_types.cpp"/>
                 <F N="../src/liborcus/ooxml_namespace_types.hpp"/>
-                <F N="../src/liborcus/ooxml_namespace_types.hpp"/>
-                <F N="../src/liborcus/ooxml_schemas.cpp"/>
                 <F N="../src/liborcus/ooxml_schemas.cpp"/>
                 <F N="../src/liborcus/ooxml_schemas.hpp"/>
-                <F N="../src/liborcus/ooxml_schemas.hpp"/>
-                <F N="../src/liborcus/ooxml_token_constants.hpp"/>
                 <F N="../src/liborcus/ooxml_token_constants.hpp"/>
                 <F N="../src/liborcus/ooxml_token_constants.inl"/>
-                <F N="../src/liborcus/ooxml_token_constants.inl"/>
                 <F N="../src/liborcus/ooxml_tokens.cpp"/>
-                <F N="../src/liborcus/ooxml_tokens.cpp"/>
-                <F N="../src/liborcus/ooxml_tokens.hpp"/>
                 <F N="../src/liborcus/ooxml_tokens.hpp"/>
                 <F N="../src/liborcus/ooxml_tokens.inl"/>
-                <F N="../src/liborcus/ooxml_tokens.inl"/>
-                <F N="../src/liborcus/ooxml_types.cpp"/>
                 <F N="../src/liborcus/ooxml_types.cpp"/>
                 <F N="../src/liborcus/ooxml_types.hpp"/>
-                <F N="../src/liborcus/ooxml_types.hpp"/>
                 <F N="../src/liborcus/opc_context.cpp"/>
-                <F N="../src/liborcus/opc_context.cpp"/>
-                <F N="../src/liborcus/opc_context.hpp"/>
                 <F N="../src/liborcus/opc_context.hpp"/>
                 <F N="../src/liborcus/opc_reader.cpp"/>
-                <F N="../src/liborcus/opc_reader.cpp"/>
-                <F N="../src/liborcus/opc_reader.hpp"/>
                 <F N="../src/liborcus/opc_reader.hpp"/>
                 <F N="../src/liborcus/opc_token_constants.hpp"/>
-                <F N="../src/liborcus/opc_token_constants.hpp"/>
                 <F N="../src/liborcus/opc_token_constants.inl"/>
-                <F N="../src/liborcus/opc_token_constants.inl"/>
-                <F N="../src/liborcus/opc_tokens.inl"/>
                 <F N="../src/liborcus/opc_tokens.inl"/>
                 <F N="../src/liborcus/orcus_csv.cpp"/>
-                <F N="../src/liborcus/orcus_csv.cpp"/>
-                <F N="../src/liborcus/orcus_gnumeric.cpp"/>
                 <F N="../src/liborcus/orcus_gnumeric.cpp"/>
-                <F N="../src/liborcus/orcus_import_xlsx.cpp"/>
+                <F N="../src/liborcus/orcus_import_ods.cpp"/>
                 <F N="../src/liborcus/orcus_import_xlsx.cpp"/>
                 <F N="../src/liborcus/orcus_ods.cpp"/>
-                <F N="../src/liborcus/orcus_ods.cpp"/>
-                <F N="../src/liborcus/orcus_xls_xml.cpp"/>
                 <F N="../src/liborcus/orcus_xls_xml.cpp"/>
                 <F N="../src/liborcus/orcus_xlsx.cpp"/>
-                <F N="../src/liborcus/orcus_xlsx.cpp"/>
-                <F N="../src/liborcus/orcus_xml.cpp"/>
                 <F N="../src/liborcus/orcus_xml.cpp"/>
                 <F N="../src/liborcus/session_context.cpp"/>
-                <F N="../src/liborcus/session_context.cpp"/>
                 <F N="../src/liborcus/session_context.hpp"/>
-                <F N="../src/liborcus/session_context.hpp"/>
-                <F N="../src/liborcus/spreadsheet_interface.cpp"/>
                 <F N="../src/liborcus/spreadsheet_interface.cpp"/>
                 <F N="../src/liborcus/spreadsheet_types.cpp"/>
-                <F N="../src/liborcus/spreadsheet_types.cpp"/>
-                <F N="../src/liborcus/xls_xml_context.cpp"/>
+                <F N="../src/liborcus/string_helper.cpp"/>
+                <F N="../src/liborcus/string_helper.hpp"/>
                 <F N="../src/liborcus/xls_xml_context.cpp"/>
                 <F N="../src/liborcus/xls_xml_context.hpp"/>
-                <F N="../src/liborcus/xls_xml_context.hpp"/>
                 <F N="../src/liborcus/xls_xml_detection_handler.cpp"/>
-                <F N="../src/liborcus/xls_xml_detection_handler.cpp"/>
-                <F N="../src/liborcus/xls_xml_detection_handler.hpp"/>
                 <F N="../src/liborcus/xls_xml_detection_handler.hpp"/>
                 <F N="../src/liborcus/xls_xml_handler.cpp"/>
-                <F N="../src/liborcus/xls_xml_handler.cpp"/>
-                <F N="../src/liborcus/xls_xml_handler.hpp"/>
                 <F N="../src/liborcus/xls_xml_handler.hpp"/>
                 <F N="../src/liborcus/xls_xml_namespace_types.cpp"/>
-                <F N="../src/liborcus/xls_xml_namespace_types.cpp"/>
                 <F N="../src/liborcus/xls_xml_namespace_types.hpp"/>
-                <F N="../src/liborcus/xls_xml_namespace_types.hpp"/>
-                <F N="../src/liborcus/xls_xml_token_constants.hpp"/>
                 <F N="../src/liborcus/xls_xml_token_constants.hpp"/>
                 <F N="../src/liborcus/xls_xml_token_constants.inl"/>
-                <F N="../src/liborcus/xls_xml_token_constants.inl"/>
-                <F N="../src/liborcus/xls_xml_tokens.cpp"/>
                 <F N="../src/liborcus/xls_xml_tokens.cpp"/>
                 <F N="../src/liborcus/xls_xml_tokens.hpp"/>
-                <F N="../src/liborcus/xls_xml_tokens.hpp"/>
                 <F N="../src/liborcus/xls_xml_tokens.inl"/>
-                <F N="../src/liborcus/xls_xml_tokens.inl"/>
-                <F N="../src/liborcus/xlsx_autofilter_context.cpp"/>
                 <F N="../src/liborcus/xlsx_autofilter_context.cpp"/>
                 <F N="../src/liborcus/xlsx_autofilter_context.hpp"/>
-                <F N="../src/liborcus/xlsx_autofilter_context.hpp"/>
                 <F N="../src/liborcus/xlsx_conditional_format_context.cpp"/>
                 <F N="../src/liborcus/xlsx_conditional_format_context.hpp"/>
                 <F N="../src/liborcus/xlsx_context.cpp"/>
-                <F N="../src/liborcus/xlsx_context.cpp"/>
-                <F N="../src/liborcus/xlsx_context.hpp"/>
                 <F N="../src/liborcus/xlsx_context.hpp"/>
                 <F N="../src/liborcus/xlsx_handler.cpp"/>
-                <F N="../src/liborcus/xlsx_handler.cpp"/>
-                <F N="../src/liborcus/xlsx_handler.hpp"/>
                 <F N="../src/liborcus/xlsx_handler.hpp"/>
                 <F N="../src/liborcus/xlsx_helper.cpp"/>
                 <F N="../src/liborcus/xlsx_helper.hpp"/>
                 <F N="../src/liborcus/xlsx_pivot_context.cpp"/>
-                <F N="../src/liborcus/xlsx_pivot_context.cpp"/>
-                <F N="../src/liborcus/xlsx_pivot_context.hpp"/>
                 <F N="../src/liborcus/xlsx_pivot_context.hpp"/>
                 <F N="../src/liborcus/xlsx_revision_context.cpp"/>
-                <F N="../src/liborcus/xlsx_revision_context.cpp"/>
                 <F N="../src/liborcus/xlsx_revision_context.hpp"/>
-                <F N="../src/liborcus/xlsx_revision_context.hpp"/>
-                <F N="../src/liborcus/xlsx_session_data.cpp"/>
                 <F N="../src/liborcus/xlsx_session_data.cpp"/>
                 <F N="../src/liborcus/xlsx_session_data.hpp"/>
-                <F N="../src/liborcus/xlsx_session_data.hpp"/>
-                <F N="../src/liborcus/xlsx_sheet_context.cpp"/>
                 <F N="../src/liborcus/xlsx_sheet_context.cpp"/>
                 <F N="../src/liborcus/xlsx_sheet_context.hpp"/>
-                <F N="../src/liborcus/xlsx_sheet_context.hpp"/>
                 <F N="../src/liborcus/xlsx_sheet_context_test.cpp"/>
-                <F N="../src/liborcus/xlsx_sheet_context_test.cpp"/>
-                <F N="../src/liborcus/xlsx_table_context.cpp"/>
                 <F N="../src/liborcus/xlsx_table_context.cpp"/>
                 <F N="../src/liborcus/xlsx_table_context.hpp"/>
-                <F N="../src/liborcus/xlsx_table_context.hpp"/>
-                <F N="../src/liborcus/xlsx_types.cpp"/>
                 <F N="../src/liborcus/xlsx_types.cpp"/>
                 <F N="../src/liborcus/xlsx_types.hpp"/>
-                <F N="../src/liborcus/xlsx_types.hpp"/>
                 <F N="../src/liborcus/xlsx_workbook_context.cpp"/>
-                <F N="../src/liborcus/xlsx_workbook_context.cpp"/>
-                <F N="../src/liborcus/xlsx_workbook_context.hpp"/>
                 <F N="../src/liborcus/xlsx_workbook_context.hpp"/>
                 <F N="../src/liborcus/xml_context_base.cpp"/>
-                <F N="../src/liborcus/xml_context_base.cpp"/>
-                <F N="../src/liborcus/xml_context_base.hpp"/>
                 <F N="../src/liborcus/xml_context_base.hpp"/>
                 <F N="../src/liborcus/xml_context_global.cpp"/>
-                <F N="../src/liborcus/xml_context_global.cpp"/>
                 <F N="../src/liborcus/xml_context_global.hpp"/>
-                <F N="../src/liborcus/xml_context_global.hpp"/>
-                <F N="../src/liborcus/xml_map_tree.cpp"/>
                 <F N="../src/liborcus/xml_map_tree.cpp"/>
                 <F N="../src/liborcus/xml_map_tree.hpp"/>
-                <F N="../src/liborcus/xml_map_tree.hpp"/>
-                <F N="../src/liborcus/xml_map_tree_test.cpp"/>
                 <F N="../src/liborcus/xml_map_tree_test.cpp"/>
                 <F N="../src/liborcus/xml_simple_stream_handler.cpp"/>
-                <F N="../src/liborcus/xml_simple_stream_handler.cpp"/>
                 <F N="../src/liborcus/xml_simple_stream_handler.hpp"/>
-                <F N="../src/liborcus/xml_simple_stream_handler.hpp"/>
-                <F N="../src/liborcus/xml_stream_handler.cpp"/>
                 <F N="../src/liborcus/xml_stream_handler.cpp"/>
                 <F N="../src/liborcus/xml_stream_handler.hpp"/>
-                <F N="../src/liborcus/xml_stream_handler.hpp"/>
-                <F N="../src/liborcus/xml_stream_parser.cpp"/>
                 <F N="../src/liborcus/xml_stream_parser.cpp"/>
                 <F N="../src/liborcus/xml_stream_parser.hpp"/>
-                <F N="../src/liborcus/xml_stream_parser.hpp"/>
                 <F N="../src/liborcus/xml_structure_tree.cpp"/>
-                <F N="../src/liborcus/xml_structure_tree.cpp"/>
-                <F N="../src/liborcus/xml_structure_tree_test.cpp"/>
                 <F N="../src/liborcus/xml_structure_tree_test.cpp"/>
                 <F N="../src/liborcus/yaml_document_tree.cpp"/>
                 <F N="../src/liborcus/yaml_document_tree_test.cpp"/>
             </Folder>
             <Folder Name="mso">
                 <F N="../src/mso/encryption_info.cpp"/>
-                <F N="../src/mso/encryption_info.cpp"/>
             </Folder>
             <Folder Name="parser">
                 <F N="../src/parser/base64.cpp"/>
-                <F N="../src/parser/base64.cpp"/>
-                <F N="../src/parser/base64_test.cpp"/>
                 <F N="../src/parser/base64_test.cpp"/>
                 <F N="../src/parser/cell_buffer.cpp"/>
-                <F N="../src/parser/cell_buffer.cpp"/>
-                <F N="../src/parser/css_parser_base.cpp"/>
                 <F N="../src/parser/css_parser_base.cpp"/>
                 <F N="../src/parser/css_types.cpp"/>
                 <F N="../src/parser/csv_parser_base.cpp"/>
@@ -565,6 +425,7 @@
                 <F N="../src/parser/yaml_parser_base.cpp"/>
                 <F N="../src/parser/zip_archive.cpp"/>
                 <F N="../src/parser/zip_archive_stream.cpp"/>
+                <F N="../src/parser/zip_archive_test.cpp"/>
             </Folder>
             <Folder Name="python">
                 <F N="../src/python/json.cpp"/>
@@ -597,7 +458,6 @@
             <F N="../src/orcus_json_main.cpp"/>
             <F N="../src/orcus_mso_encryption.cpp"/>
             <F N="../src/orcus_ods_main.cpp"/>
-            <F N="../src/orcus_test_common.cpp"/>
             <F N="../src/orcus_test_csv.cpp"/>
             <F N="../src/orcus_test_ods.cpp"/>
             <F N="../src/orcus_test_xls_xml.cpp"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/dom_tree.cpp 
new/liborcus-0.11.2/src/liborcus/dom_tree.cpp
--- old/liborcus-0.11.0/src/liborcus/dom_tree.cpp       2015-08-02 
18:57:02.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/dom_tree.cpp       2016-03-07 
03:41:55.000000000 +0100
@@ -177,7 +177,7 @@
 dom_tree::content::~content() {}
 
 dom_tree::dom_tree(xmlns_context& cxt) :
-    mp_impl(make_unique<dom_tree_impl>(cxt)) {}
+    mp_impl(orcus::make_unique<dom_tree_impl>(cxt)) {}
 
 dom_tree::~dom_tree() {}
 
@@ -242,7 +242,7 @@
 
     // Append new element as a child element of the current element.
     p = mp_impl->m_elem_stack.back();
-    p->child_nodes.push_back(make_unique<element>(ns, name_safe));
+    p->child_nodes.push_back(orcus::make_unique<element>(ns, name_safe));
     p = static_cast<element*>(p->child_nodes.back().get());
     p->attrs.swap(mp_impl->m_cur_attrs);
     mp_impl->m_elem_stack.push_back(p);
@@ -269,7 +269,7 @@
 
     element* p = mp_impl->m_elem_stack.back();
     val2 = mp_impl->m_pool.intern(val2).first; // Make sure the string is 
persistent.
-    p->child_nodes.push_back(make_unique<content>(val2));
+    p->child_nodes.push_back(orcus::make_unique<content>(val2));
 }
 
 void dom_tree::set_attribute(xmlns_id_t ns, const pstring& name, const 
pstring& val)
@@ -283,7 +283,7 @@
 
 void dom_tree::set_doctype(const sax::doctype_declaration& dtd)
 {
-    mp_impl->m_doctype = make_unique<sax::doctype_declaration>(dtd);  // make 
a copy.
+    mp_impl->m_doctype = orcus::make_unique<sax::doctype_declaration>(dtd);  
// make a copy.
 
     sax::doctype_declaration& this_dtd = *mp_impl->m_doctype;
     string_pool& pool = mp_impl->m_pool;
@@ -360,7 +360,7 @@
 
     scopes_type scopes;
 
-    scopes.push_back(make_unique<scope>(string(), mp_impl->m_root));
+    scopes.push_back(orcus::make_unique<scope>(string(), mp_impl->m_root));
     while (!scopes.empty())
     {
         bool new_scope = false;
@@ -418,7 +418,7 @@
             ++cur_scope.current_pos;
             ostringstream elem_name;
             elem->print(elem_name, mp_impl->m_ns_cxt);
-            scopes.push_back(make_unique<scope>(elem_name.str()));
+            scopes.push_back(orcus::make_unique<scope>(elem_name.str()));
             scope& child_scope = *scopes.back();
             child_scope.nodes.swap(nodes);
             child_scope.current_pos = child_scope.nodes.begin();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/json_document_tree.cpp 
new/liborcus-0.11.2/src/liborcus/json_document_tree.cpp
--- old/liborcus-0.11.0/src/liborcus/json_document_tree.cpp     2015-10-21 
04:06:54.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/json_document_tree.cpp     2016-03-08 
04:25:46.000000000 +0100
@@ -54,8 +54,7 @@
 using node_t = json::detail::node_t;
 
 const char* tab = "    ";
-constexpr char quote = '"';
-constexpr char backslash = '\\';
+const char quote = '"';
 
 const xmlns_id_t NS_orcus_json_xml = "http://schemas.kohei.us/orcus/2015/json";;
 
@@ -455,13 +454,13 @@
     {
         if (m_root)
         {
-            json_value* jv = push_value(make_unique<json_value_array>());
+            json_value* jv = 
push_value(orcus::make_unique<json_value_array>());
             assert(jv && jv->type == node_t::array);
             m_stack.push_back(parser_stack(jv));
         }
         else
         {
-            m_root = make_unique<json_value_array>();
+            m_root = orcus::make_unique<json_value_array>();
             m_stack.push_back(parser_stack(m_root.get()));
         }
     }
@@ -476,13 +475,13 @@
     {
         if (m_root)
         {
-            json_value* jv = push_value(make_unique<json_value_object>());
+            json_value* jv = 
push_value(orcus::make_unique<json_value_object>());
             assert(jv && jv->type == node_t::object);
             m_stack.push_back(parser_stack(jv));
         }
         else
         {
-            m_root = make_unique<json_value_object>();
+            m_root = orcus::make_unique<json_value_object>();
             m_stack.push_back(parser_stack(m_root.get()));
         }
     }
@@ -504,17 +503,17 @@
 
     void boolean_true()
     {
-        push_value(make_unique<json_value>(node_t::boolean_true));
+        push_value(orcus::make_unique<json_value>(node_t::boolean_true));
     }
 
     void boolean_false()
     {
-        push_value(make_unique<json_value>(node_t::boolean_false));
+        push_value(orcus::make_unique<json_value>(node_t::boolean_false));
     }
 
     void null()
     {
-        push_value(make_unique<json_value>(node_t::null));
+        push_value(orcus::make_unique<json_value>(node_t::null));
     }
 
     void string(const char* p, size_t len, bool transient)
@@ -524,12 +523,12 @@
             // The tree manages the life cycle of this string value.
             s = m_pool.intern(s).first;
 
-        push_value(make_unique<json_value_string>(s));
+        push_value(orcus::make_unique<json_value_string>(s));
     }
 
     void number(double val)
     {
-        push_value(make_unique<json_value_number>(val));
+        push_value(orcus::make_unique<json_value_number>(val));
     }
 
     void swap(std::unique_ptr<json_value>& other_root)
@@ -554,8 +553,8 @@
     impl(const json_value* jv) : m_node(jv) {}
 };
 
-node::node(const json_value* jv) : mp_impl(make_unique<impl>(jv)) {}
-node::node(const node& other) : 
mp_impl(make_unique<impl>(other.mp_impl->m_node)) {}
+node::node(const json_value* jv) : mp_impl(orcus::make_unique<impl>(jv)) {}
+node::node(const node& other) : 
mp_impl(orcus::make_unique<impl>(other.mp_impl->m_node)) {}
 node::node(node&& rhs) : mp_impl(std::move(rhs.mp_impl)) {}
 node::~node() {}
 
@@ -720,12 +719,12 @@
     std::unique_ptr<string_pool> m_own_pool;
     string_pool& m_pool;
 
-    impl() : m_own_pool(make_unique<string_pool>()), m_pool(*m_own_pool) {}
+    impl() : m_own_pool(orcus::make_unique<string_pool>()), 
m_pool(*m_own_pool) {}
     impl(string_pool& pool) : m_pool(pool) {}
 };
 
-json_document_tree::json_document_tree() : mp_impl(make_unique<impl>()) {}
-json_document_tree::json_document_tree(string_pool& pool) : 
mp_impl(make_unique<impl>(pool)) {}
+json_document_tree::json_document_tree() : mp_impl(orcus::make_unique<impl>()) 
{}
+json_document_tree::json_document_tree(string_pool& pool) : 
mp_impl(orcus::make_unique<impl>(pool)) {}
 json_document_tree::~json_document_tree() {}
 
 void json_document_tree::load(const std::string& strm, const json_config& 
config)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/json_document_tree_test.cpp 
new/liborcus-0.11.2/src/liborcus/json_document_tree_test.cpp
--- old/liborcus-0.11.0/src/liborcus/json_document_tree_test.cpp        
2015-11-04 02:41:20.000000000 +0100
+++ new/liborcus-0.11.2/src/liborcus/json_document_tree_test.cpp        
2016-03-07 03:41:55.000000000 +0100
@@ -193,7 +193,7 @@
     cout << "--- original" << endl;
     cout << strm << endl;
 
-    auto doc = make_unique<json_document_tree>();
+    auto doc = orcus::make_unique<json_document_tree>();
     doc->load(strm, test_config);
 
     return doc;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/json_util.cpp 
new/liborcus-0.11.2/src/liborcus/json_util.cpp
--- old/liborcus-0.11.0/src/liborcus/json_util.cpp      2015-09-17 
03:11:03.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/json_util.cpp      2016-03-08 
04:24:38.000000000 +0100
@@ -11,8 +11,8 @@
 
 namespace {
 
-constexpr char quote = '"';
-constexpr char backslash = '\\';
+const char quote = '"';
+const char backslash = '\\';
 
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/ods_content_xml_context.cpp 
new/liborcus-0.11.2/src/liborcus/ods_content_xml_context.cpp
--- old/liborcus-0.11.0/src/liborcus/ods_content_xml_context.cpp        
2015-09-15 03:54:36.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/ods_content_xml_context.cpp        
2016-03-07 03:41:55.000000000 +0100
@@ -588,7 +588,7 @@
         ods_session_data& ods_data =
             static_cast<ods_session_data&>(*get_session_context().mp_data);
         ods_data.m_formulas.push_back(
-            make_unique<ods_session_data::formula>(
+            orcus::make_unique<ods_session_data::formula>(
                 m_tables.size()-1, m_row, m_col, m_cell_attr.formula_grammar, 
m_cell_attr.formula));
 
         ods_session_data::formula& formula_data = *ods_data.m_formulas.back();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/opc_reader.cpp 
new/liborcus-0.11.2/src/liborcus/opc_reader.cpp
--- old/liborcus-0.11.0/src/liborcus/opc_reader.cpp     2015-10-13 
00:18:04.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/opc_reader.cpp     2016-03-07 
03:41:55.000000000 +0100
@@ -244,7 +244,7 @@
         m_config, m_ns_repo, opc_tokens,
         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
 
-    auto handler = make_unique<xml_simple_stream_handler>(
+    auto handler = orcus::make_unique<xml_simple_stream_handler>(
         new opc_content_types_context(m_session_cxt, opc_tokens));
 
     parser.set_handler(handler.get());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/orcus_gnumeric.cpp 
new/liborcus-0.11.2/src/liborcus/orcus_gnumeric.cpp
--- old/liborcus-0.11.0/src/liborcus/orcus_gnumeric.cpp 2015-10-13 
00:18:04.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/orcus_gnumeric.cpp 2016-03-07 
03:41:55.000000000 +0100
@@ -82,7 +82,7 @@
 {
     xml_stream_parser parser(get_config(), mp_impl->m_ns_repo, 
gnumeric_tokens, p, size);
 
-    auto handler = make_unique<gnumeric_content_xml_handler>(
+    auto handler = orcus::make_unique<gnumeric_content_xml_handler>(
         mp_impl->m_cxt, gnumeric_tokens, mp_impl->mp_factory);
 
     parser.set_handler(handler.get());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/orcus_import_ods.cpp 
new/liborcus-0.11.2/src/liborcus/orcus_import_ods.cpp
--- old/liborcus-0.11.0/src/liborcus/orcus_import_ods.cpp       2015-09-15 
03:54:36.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/orcus_import_ods.cpp       2016-03-07 
03:41:55.000000000 +0100
@@ -32,7 +32,7 @@
 
     session_context cxt;
     odf_styles_map_type styles_map;
-    auto context = make_unique<styles_context>(cxt, odf_tokens, styles_map, 
styles);
+    auto context = orcus::make_unique<styles_context>(cxt, odf_tokens, 
styles_map, styles);
 
     xml_simple_stream_handler stream_handler(context.release());
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/orcus_import_xlsx.cpp 
new/liborcus-0.11.2/src/liborcus/orcus_import_xlsx.cpp
--- old/liborcus-0.11.0/src/liborcus/orcus_import_xlsx.cpp      2015-07-02 
01:14:23.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/orcus_import_xlsx.cpp      2016-03-07 
03:41:55.000000000 +0100
@@ -33,7 +33,7 @@
         return;
 
     session_context cxt;
-    auto handler = make_unique<xlsx_table_xml_handler>(cxt, ooxml_tokens, 
*table);
+    auto handler = orcus::make_unique<xlsx_table_xml_handler>(cxt, 
ooxml_tokens, *table);
 
     xmlns_repository ns_repo;
     ns_repo.add_predefined_values(NS_ooxml_all);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/orcus_xls_xml.cpp 
new/liborcus-0.11.2/src/liborcus/orcus_xls_xml.cpp
--- old/liborcus-0.11.0/src/liborcus/orcus_xls_xml.cpp  2015-10-13 
00:18:04.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/orcus_xls_xml.cpp  2016-03-07 
03:41:55.000000000 +0100
@@ -92,7 +92,7 @@
     xml_stream_parser parser(
         get_config(), mp_impl->m_ns_repo, xls_xml_tokens, content, len);
 
-    auto handler = make_unique<xls_xml_handler>(
+    auto handler = orcus::make_unique<xls_xml_handler>(
         mp_impl->m_cxt, xls_xml_tokens, mp_impl->mp_factory);
 
     parser.set_handler(handler.get());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/orcus_xlsx.cpp 
new/liborcus-0.11.2/src/liborcus/orcus_xlsx.cpp
--- old/liborcus-0.11.0/src/liborcus/orcus_xlsx.cpp     2015-10-13 
00:18:04.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/orcus_xlsx.cpp     2016-03-07 
03:41:55.000000000 +0100
@@ -286,7 +286,7 @@
     if (buffer.empty())
         return;
 
-    auto handler = make_unique<xml_simple_stream_handler>(
+    auto handler = orcus::make_unique<xml_simple_stream_handler>(
         new xlsx_workbook_context(mp_impl->m_cxt, ooxml_tokens));
 
     xml_stream_parser parser(
@@ -341,7 +341,7 @@
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
 
-    auto handler = make_unique<xlsx_sheet_xml_handler>(
+    auto handler = orcus::make_unique<xlsx_sheet_xml_handler>(
         mp_impl->m_cxt, ooxml_tokens, data->id-1, sheet);
 
     parser.set_handler(handler.get());
@@ -373,7 +373,7 @@
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
 
-    auto handler = make_unique<xml_simple_stream_handler>(
+    auto handler = orcus::make_unique<xml_simple_stream_handler>(
         new xlsx_shared_strings_context(
             mp_impl->m_cxt, ooxml_tokens, 
mp_impl->mp_factory->get_shared_strings()));
 
@@ -406,7 +406,7 @@
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
 
-    auto handler = make_unique<xml_simple_stream_handler>(
+    auto handler = orcus::make_unique<xml_simple_stream_handler>(
         new xlsx_styles_context(
             mp_impl->m_cxt, ooxml_tokens, mp_impl->mp_factory->get_styles()));
 
@@ -441,7 +441,7 @@
     if (buffer.empty())
         return;
 
-    auto handler = make_unique<xlsx_table_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens, *table);
+    auto handler = orcus::make_unique<xlsx_table_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens, *table);
 
     xml_stream_parser parser(
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
@@ -471,7 +471,7 @@
     if (buffer.empty())
         return;
 
-    auto handler = 
make_unique<xlsx_pivot_cache_def_xml_handler>(mp_impl->m_cxt, ooxml_tokens);
+    auto handler = 
orcus::make_unique<xlsx_pivot_cache_def_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens);
 
     xml_stream_parser parser(
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
@@ -502,7 +502,7 @@
     if (buffer.empty())
         return;
 
-    auto handler = 
make_unique<xlsx_pivot_cache_rec_xml_handler>(mp_impl->m_cxt, ooxml_tokens);
+    auto handler = 
orcus::make_unique<xlsx_pivot_cache_rec_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens);
 
     xml_stream_parser parser(
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
@@ -532,7 +532,7 @@
     if (buffer.empty())
         return;
 
-    auto handler = make_unique<xlsx_pivot_table_xml_handler>(mp_impl->m_cxt, 
ooxml_tokens);
+    auto handler = 
orcus::make_unique<xlsx_pivot_table_xml_handler>(mp_impl->m_cxt, ooxml_tokens);
 
     xml_stream_parser parser(
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
@@ -567,7 +567,7 @@
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
 
-    auto handler = make_unique<xml_simple_stream_handler>(
+    auto handler = orcus::make_unique<xml_simple_stream_handler>(
         new xlsx_revheaders_context(mp_impl->m_cxt, ooxml_tokens));
 
     parser.set_handler(handler.get());
@@ -600,7 +600,7 @@
         get_config(), mp_impl->m_ns_repo, ooxml_tokens,
         reinterpret_cast<const char*>(&buffer[0]), buffer.size());
 
-    auto handler = make_unique<xml_simple_stream_handler>(
+    auto handler = orcus::make_unique<xml_simple_stream_handler>(
         new xlsx_revlog_context(mp_impl->m_cxt, ooxml_tokens));
 
     parser.set_handler(handler.get());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/orcus_xml.cpp 
new/liborcus-0.11.2/src/liborcus/orcus_xml.cpp
--- old/liborcus-0.11.0/src/liborcus/orcus_xml.cpp      2015-09-15 
03:54:36.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/orcus_xml.cpp      2016-03-07 
03:41:55.000000000 +0100
@@ -343,7 +343,7 @@
     scopes_type scopes;
     for (spreadsheet::row_t current_row = 0; current_row < ref.row_size; 
++current_row)
     {
-        scopes.push_back(make_unique<scope>(root)); // root element
+        scopes.push_back(orcus::make_unique<scope>(root)); // root element
 
         while (!scopes.empty())
         {
@@ -378,7 +378,7 @@
                     // This is a non-leaf element.  Push a new scope with this
                     // element and re-start the loop.
                     ++cur_scope.current_child_pos;
-                    scopes.push_back(make_unique<scope>(child_elem));
+                    scopes.push_back(orcus::make_unique<scope>(child_elem));
                     new_scope = true;
                     break;
                 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/xlsx_sheet_context.cpp 
new/liborcus-0.11.2/src/liborcus/xlsx_sheet_context.cpp
--- old/liborcus-0.11.0/src/liborcus/xlsx_sheet_context.cpp     2015-07-10 
01:21:41.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/xlsx_sheet_context.cpp     2016-03-07 
03:41:55.000000000 +0100
@@ -547,7 +547,7 @@
         {
             // shared formula expression
             session_data.m_shared_formulas.push_back(
-                make_unique<xlsx_session_data::shared_formula>(
+                orcus::make_unique<xlsx_session_data::shared_formula>(
                     m_sheet_id, m_cur_row, m_cur_col, m_cur_formula.shared_id,
                     m_cur_formula.str.str(), m_cur_formula.ref.str()));
         }
@@ -555,14 +555,14 @@
         {
             // array formula expression
             session_data.m_formulas.push_back(
-                make_unique<xlsx_session_data::formula>(
+                orcus::make_unique<xlsx_session_data::formula>(
                     m_sheet_id, m_cur_row, m_cur_col, m_cur_formula.str.str(), 
m_cur_formula.ref.str()));
         }
         else
         {
             // normal (non-shared) formula expression
             session_data.m_formulas.push_back(
-                make_unique<xlsx_session_data::formula>(
+                orcus::make_unique<xlsx_session_data::formula>(
                     m_sheet_id, m_cur_row, m_cur_col, 
m_cur_formula.str.str()));
         }
     }
@@ -570,7 +570,7 @@
     {
         // shared formula without formula expression
         session_data.m_shared_formulas.push_back(
-            make_unique<xlsx_session_data::shared_formula>(
+            orcus::make_unique<xlsx_session_data::shared_formula>(
                 m_sheet_id, m_cur_row, m_cur_col, m_cur_formula.shared_id));
     }
     else if (m_cur_formula.type == spreadsheet::formula_t::data_table)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/xml_map_tree.cpp 
new/liborcus-0.11.2/src/liborcus/xml_map_tree.cpp
--- old/liborcus-0.11.0/src/liborcus/xml_map_tree.cpp   2015-07-02 
01:14:23.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/xml_map_tree.cpp   2016-03-07 
03:41:55.000000000 +0100
@@ -666,7 +666,7 @@
         {
             // Insert a new element of this name.
             children.push_back(
-                make_unique<element>(
+                orcus::make_unique<element>(
                     token.ns, m_names.intern(token.name.get(), 
token.name.size()).first,
                     element_unlinked, reference_unknown));
             cur_element = children.back().get();
@@ -695,7 +695,7 @@
             throw xpath_error("This attribute is already linked.  You can't 
link the same attribute twice.");
 
         attrs.push_back(
-            make_unique<attribute>(
+            orcus::make_unique<attribute>(
                 token.ns, m_names.intern(token.name.get(), 
token.name.size()).first, ref_type));
 
         ret = attrs.back().get();
@@ -710,7 +710,7 @@
         {
             // No element of that name exists.
             children.push_back(
-                make_unique<element>(
+                orcus::make_unique<element>(
                     token.ns, m_names.intern(token.name.get(), 
token.name.size()).first,
                     element_linked, ref_type));
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/xml_structure_tree.cpp 
new/liborcus-0.11.2/src/liborcus/xml_structure_tree.cpp
--- old/liborcus-0.11.0/src/liborcus/xml_structure_tree.cpp     2015-07-02 
01:14:23.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/xml_structure_tree.cpp     2016-03-07 
03:41:55.000000000 +0100
@@ -451,7 +451,7 @@
     cxt.dump(os);
 
     element_ref ref(mp_impl->mp_root->name, &mp_impl->mp_root->prop);
-    scopes.push_back(make_unique<scope>(entity_name(), false, ref));
+    scopes.push_back(orcus::make_unique<scope>(entity_name(), false, ref));
     while (!scopes.empty())
     {
         bool new_scope = false;
@@ -505,7 +505,7 @@
 
             // Push a new scope, and restart the loop with the new scope.
             ++cur_scope.current_pos;
-            scopes.push_back(make_unique<scope>(this_elem.name, 
this_elem.prop->repeat));
+            scopes.push_back(orcus::make_unique<scope>(this_elem.name, 
this_elem.prop->repeat));
             scope& child_scope = *scopes.back();
             child_scope.elements.swap(elems);
             child_scope.current_pos = child_scope.elements.begin();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/liborcus/yaml_document_tree.cpp 
new/liborcus-0.11.2/src/liborcus/yaml_document_tree.cpp
--- old/liborcus-0.11.0/src/liborcus/yaml_document_tree.cpp     2015-09-19 
04:03:25.000000000 +0200
+++ new/liborcus-0.11.2/src/liborcus/yaml_document_tree.cpp     2016-03-08 
04:42:34.000000000 +0100
@@ -155,6 +155,8 @@
     yaml_value* node;
 
     parser_stack(yaml_value* _node) : node(_node) {}
+    parser_stack(const parser_stack&) = delete;
+    parser_stack(parser_stack&& r) : key(std::move(r.key)), node(r.node) {}
 };
 
 typedef std::unique_ptr<yaml_value> document_root_type;
@@ -254,13 +256,13 @@
 
         if (m_root)
         {
-            yaml_value* yv = push_value(make_unique<yaml_value_sequence>());
+            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value_sequence>());
             assert(yv && yv->type == node_t::sequence);
             m_stack.push_back(parser_stack(yv));
         }
         else
         {
-            m_root = make_unique<yaml_value_sequence>();
+            m_root = orcus::make_unique<yaml_value_sequence>();
             m_stack.push_back(parser_stack(m_root.get()));
         }
     }
@@ -276,13 +278,13 @@
         assert(m_in_document);
         if (m_root)
         {
-            yaml_value* yv = push_value(make_unique<yaml_value_map>());
+            yaml_value* yv = push_value(orcus::make_unique<yaml_value_map>());
             assert(yv && yv->type == node_t::map);
             m_stack.push_back(parser_stack(yv));
         }
         else
         {
-            m_root = make_unique<yaml_value_map>();
+            m_root = orcus::make_unique<yaml_value_map>();
             m_stack.push_back(parser_stack(m_root.get()));
         }
     }
@@ -319,11 +321,11 @@
 
         if (m_root)
         {
-            yaml_value* yv = push_value(make_unique<yaml_value_string>(p, n));
+            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value_string>(p, n));
             assert(yv && yv->type == node_t::string);
         }
         else
-            m_root = make_unique<yaml_value_string>(p, n);
+            m_root = orcus::make_unique<yaml_value_string>(p, n);
     }
 
     void number(double val)
@@ -331,11 +333,11 @@
         assert(m_in_document);
         if (m_root)
         {
-            yaml_value* yv = push_value(make_unique<yaml_value_number>(val));
+            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value_number>(val));
             assert(yv && yv->type == node_t::number);
         }
         else
-            m_root = make_unique<yaml_value_number>(val);
+            m_root = orcus::make_unique<yaml_value_number>(val);
     }
 
     void boolean_true()
@@ -343,11 +345,11 @@
         assert(m_in_document);
         if (m_root)
         {
-            yaml_value* yv = 
push_value(make_unique<yaml_value>(node_t::boolean_true));
+            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value>(node_t::boolean_true));
             assert(yv && yv->type == node_t::boolean_true);
         }
         else
-            m_root = make_unique<yaml_value>(node_t::boolean_true);
+            m_root = orcus::make_unique<yaml_value>(node_t::boolean_true);
     }
 
     void boolean_false()
@@ -355,11 +357,11 @@
         assert(m_in_document);
         if (m_root)
         {
-            yaml_value* yv = 
push_value(make_unique<yaml_value>(node_t::boolean_false));
+            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value>(node_t::boolean_false));
             assert(yv && yv->type == node_t::boolean_false);
         }
         else
-            m_root = make_unique<yaml_value>(node_t::boolean_false);
+            m_root = orcus::make_unique<yaml_value>(node_t::boolean_false);
     }
 
     void null()
@@ -367,11 +369,11 @@
         assert(m_in_document);
         if (m_root)
         {
-            yaml_value* yv = push_value(make_unique<yaml_value>(node_t::null));
+            yaml_value* yv = 
push_value(orcus::make_unique<yaml_value>(node_t::null));
             assert(yv && yv->type == node_t::null);
         }
         else
-            m_root = make_unique<yaml_value>(node_t::null);
+            m_root = orcus::make_unique<yaml_value>(node_t::null);
     }
 
     void swap(std::vector<document_root_type>& docs)
@@ -396,8 +398,8 @@
     impl(const yaml_value* yv) : m_node(yv) {}
 };
 
-node::node(const yaml_value* yv) : mp_impl(make_unique<impl>(yv)) {}
-node::node(const node& other) : 
mp_impl(make_unique<impl>(other.mp_impl->m_node)) {}
+node::node(const yaml_value* yv) : mp_impl(orcus::make_unique<impl>(yv)) {}
+node::node(const node& other) : 
mp_impl(orcus::make_unique<impl>(other.mp_impl->m_node)) {}
 node::node(node&& rhs) : mp_impl(std::move(rhs.mp_impl)) {}
 node::~node() {}
 
@@ -548,7 +550,7 @@
 
 }}
 
-yaml_document_tree::yaml_document_tree() : mp_impl(make_unique<impl>()) {}
+yaml_document_tree::yaml_document_tree() : mp_impl(orcus::make_unique<impl>()) 
{}
 yaml_document_tree::~yaml_document_tree() {}
 
 void yaml_document_tree::load(const std::string& strm)
@@ -577,7 +579,7 @@
 const char* kw_tilde = "~";
 const char* kw_null = "null";
 
-constexpr char quote = '"';
+const char quote = '"';
 
 void dump_indent(std::ostringstream& os, size_t scope)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/mso/encryption_info.cpp 
new/liborcus-0.11.2/src/mso/encryption_info.cpp
--- old/liborcus-0.11.0/src/mso/encryption_info.cpp     2015-01-27 
04:37:35.000000000 +0100
+++ new/liborcus-0.11.2/src/mso/encryption_info.cpp     2016-03-07 
03:41:55.000000000 +0100
@@ -143,11 +143,10 @@
 
 class sax_handler
 {
-    xmlns_context& m_ns_cxt;
     vector<sax_ns_parser_attribute> m_attrs;
 
 public:
-    sax_handler(xmlns_context& ns_cxt) : m_ns_cxt(ns_cxt) {}
+    sax_handler(xmlns_context& /*ns_cxt*/) {}
     void doctype(const sax::doctype_declaration&) {}
     void start_declaration(const pstring&) {}
     void end_declaration(const pstring&) {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/orcus_filter_global.cpp 
new/liborcus-0.11.2/src/orcus_filter_global.cpp
--- old/liborcus-0.11.0/src/orcus_filter_global.cpp     2015-09-17 
03:11:03.000000000 +0200
+++ new/liborcus-0.11.2/src/orcus_filter_global.cpp     2016-03-07 
03:41:55.000000000 +0100
@@ -239,7 +239,7 @@
         return nullptr;
     }
 
-    std::unique_ptr<json_config> config = make_unique<json_config>();
+    std::unique_ptr<json_config> config = orcus::make_unique<json_config>();
 
     if (vm.count("input"))
         config->input_path = vm["input"].as<string>();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/orcus_json_main.cpp 
new/liborcus-0.11.2/src/orcus_json_main.cpp
--- old/liborcus-0.11.0/src/orcus_json_main.cpp 2015-10-10 03:27:34.000000000 
+0200
+++ new/liborcus-0.11.2/src/orcus_json_main.cpp 2016-03-07 03:41:55.000000000 
+0100
@@ -25,7 +25,7 @@
 
 std::unique_ptr<json_document_tree> load_doc(const std::string& strm, const 
json_config& config)
 {
-    std::unique_ptr<json_document_tree> doc(make_unique<json_document_tree>());
+    std::unique_ptr<json_document_tree> 
doc(orcus::make_unique<json_document_tree>());
     try
     {
         doc->load(strm, config);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/orcus_yaml_main.cpp 
new/liborcus-0.11.2/src/orcus_yaml_main.cpp
--- old/liborcus-0.11.0/src/orcus_yaml_main.cpp 2015-10-10 04:12:28.000000000 
+0200
+++ new/liborcus-0.11.2/src/orcus_yaml_main.cpp 2016-03-07 03:41:55.000000000 
+0100
@@ -76,7 +76,7 @@
         return nullptr;
     }
 
-    std::unique_ptr<yaml_config> config = make_unique<yaml_config>();
+    std::unique_ptr<yaml_config> config = orcus::make_unique<yaml_config>();
 
     if (vm.count("input"))
         config->input_path = vm["input"].as<string>();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/parser/json_parser_base.cpp 
new/liborcus-0.11.2/src/parser/json_parser_base.cpp
--- old/liborcus-0.11.0/src/parser/json_parser_base.cpp 2015-11-04 
02:41:20.000000000 +0100
+++ new/liborcus-0.11.2/src/parser/json_parser_base.cpp 2016-03-07 
03:41:55.000000000 +0100
@@ -35,7 +35,7 @@
 };
 
 parser_base::parser_base(const char* p, size_t n) :
-    ::orcus::parser_base(p, n), mp_impl(make_unique<impl>()) {}
+    ::orcus::parser_base(p, n), mp_impl(orcus::make_unique<impl>()) {}
 
 parser_base::~parser_base() {}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/parser/parser_global.cpp 
new/liborcus-0.11.2/src/parser/parser_global.cpp
--- old/liborcus-0.11.0/src/parser/parser_global.cpp    2015-10-01 
23:42:13.000000000 +0200
+++ new/liborcus-0.11.2/src/parser/parser_global.cpp    2016-03-08 
04:00:39.000000000 +0100
@@ -12,6 +12,9 @@
 
 namespace orcus {
 
+const size_t parse_quoted_string_state::error_no_closing_quote = 1;
+const size_t parse_quoted_string_state::error_illegal_escape_char = 2;
+
 bool is_blank(char c)
 {
     return is_in(c, " \t\n\r");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/parser/pstring.cpp 
new/liborcus-0.11.2/src/parser/pstring.cpp
--- old/liborcus-0.11.0/src/parser/pstring.cpp  2015-10-10 03:48:37.000000000 
+0200
+++ new/liborcus-0.11.2/src/parser/pstring.cpp  2016-03-08 03:54:38.000000000 
+0100
@@ -12,6 +12,7 @@
 #include <cassert>
 #include <iostream>
 #include <vector>
+#include <algorithm>
 
 using namespace std;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/parser/sax_parser_base.cpp 
new/liborcus-0.11.2/src/parser/sax_parser_base.cpp
--- old/liborcus-0.11.0/src/parser/sax_parser_base.cpp  2015-10-10 
03:08:33.000000000 +0200
+++ new/liborcus-0.11.2/src/parser/sax_parser_base.cpp  2016-03-07 
03:41:55.000000000 +0100
@@ -57,7 +57,7 @@
 
 parser_base::parser_base(const char* content, size_t size) :
     ::orcus::parser_base(content, size),
-    mp_impl(make_unique<impl>()),
+    mp_impl(orcus::make_unique<impl>()),
     m_nest_level(0),
     m_buffer_pos(0),
     m_root_elem_open(true)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/parser/stream.cpp 
new/liborcus-0.11.2/src/parser/stream.cpp
--- old/liborcus-0.11.0/src/parser/stream.cpp   2015-11-04 02:41:20.000000000 
+0100
+++ new/liborcus-0.11.2/src/parser/stream.cpp   2016-03-08 03:54:38.000000000 
+0100
@@ -85,7 +85,7 @@
     if (offset < 0)
         return std::string();
 
-    constexpr size_t max_line_length = 60;
+    const size_t max_line_length = 60;
 
     auto line_info = find_line_with_offset(strm, offset);
     pstring line = std::get<0>(line_info);
@@ -113,7 +113,7 @@
     // The error line is too long.  Only show a segment of the line where the
     // error occurred.
 
-    constexpr size_t fixed_offset = 20;
+    const size_t fixed_offset = 20;
 
     size_t line_start = offset_on_line - fixed_offset;
     size_t line_end = line_start + max_line_length;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/parser/string_pool.cpp 
new/liborcus-0.11.2/src/parser/string_pool.cpp
--- old/liborcus-0.11.0/src/parser/string_pool.cpp      2015-10-01 
23:51:44.000000000 +0200
+++ new/liborcus-0.11.2/src/parser/string_pool.cpp      2016-03-07 
03:41:55.000000000 +0100
@@ -61,7 +61,7 @@
     string_store_type m_store;
 };
 
-string_pool::string_pool() : mp_impl(make_unique<impl>()) {}
+string_pool::string_pool() : mp_impl(orcus::make_unique<impl>()) {}
 
 string_pool::~string_pool()
 {
@@ -82,7 +82,7 @@
     if (itr == mp_impl->m_set.end())
     {
         // This string has not been interned.  Intern it.
-        mp_impl->m_store.push_back(make_unique<string>(str, n));
+        mp_impl->m_store.push_back(orcus::make_unique<string>(str, n));
         pair<string_set_type::iterator,bool> r = 
mp_impl->m_set.insert(pstring(mp_impl->m_store.back()->data(), n));
         if (!r.second)
             throw general_error("failed to intern a new string instance.");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/parser/yaml_parser_base.cpp 
new/liborcus-0.11.2/src/parser/yaml_parser_base.cpp
--- old/liborcus-0.11.0/src/parser/yaml_parser_base.cpp 2015-10-08 
02:36:19.000000000 +0200
+++ new/liborcus-0.11.2/src/parser/yaml_parser_base.cpp 2016-03-08 
04:06:01.000000000 +0100
@@ -59,7 +59,7 @@
 const size_t parser_base::scope_empty = std::numeric_limits<size_t>::max() - 2;
 
 parser_base::parser_base(const char* p, size_t n) :
-    ::orcus::parser_base(p, n), mp_impl(make_unique<impl>()) {}
+    ::orcus::parser_base(p, n), mp_impl(orcus::make_unique<impl>()) {}
 
 parser_base::~parser_base() {}
 
@@ -289,18 +289,13 @@
 {
     std::ostringstream os;
     os << func_name << ": failed to parse ";
-    switch (ret.length)
-    {
-        case parse_quoted_string_state::error_illegal_escape_char:
-            os << "due to the presence of illegal escape character.";
-        break;
-        case parse_quoted_string_state::error_no_closing_quote:
-            os << "because the closing quote was not found.";
-        break;
-        default:
-            os << "due to unknown reason.";
+    if (ret.length == parse_quoted_string_state::error_illegal_escape_char)
+        os << "due to the presence of illegal escape character.";
+    else if (ret.length == parse_quoted_string_state::error_no_closing_quote)
+        os << "because the closing quote was not found.";
+    else
+        os << "due to unknown reason.";
 
-    }
     throw parse_error(os.str());
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/liborcus-0.11.0/src/spreadsheet/document.cpp 
new/liborcus-0.11.2/src/spreadsheet/document.cpp
--- old/liborcus-0.11.0/src/spreadsheet/document.cpp    2015-07-09 
04:25:07.000000000 +0200
+++ new/liborcus-0.11.2/src/spreadsheet/document.cpp    2016-05-12 
03:01:34.000000000 +0200
@@ -448,7 +448,7 @@
     sheet_t sheet_index = static_cast<sheet_t>(mp_impl->m_sheets.size());
 
     mp_impl->m_sheets.push_back(
-        make_unique<sheet_item>(
+        orcus::make_unique<sheet_item>(
             *this, sheet_name_safe, sheet_index, row_size, col_size));
 
     mp_impl->m_context.append_sheet(


Reply via email to