summaryrefslogtreecommitdiff
path: root/libcmis
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2013-08-30 14:06:09 +0200
committerCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2013-09-02 13:51:57 +0200
commitc33b82bd37d4b01574832a4b5fff8fc546c9dda8 (patch)
tree7153bfef7d70e8a0ef444abab4013f0b26059142 /libcmis
parent4e2d23812c62b76cc1d5f00ff6d5a23f777756b1 (diff)
libcmis: add a mandatory patch for GDrive feature to properly work
Change-Id: I1bd183508b7f481feed641f8658c0baea6f743bd
Diffstat (limited to 'libcmis')
-rw-r--r--libcmis/UnpackedTarball_cmis.mk2
-rw-r--r--libcmis/libcmis-0.4.1.patch95
2 files changed, 97 insertions, 0 deletions
diff --git a/libcmis/UnpackedTarball_cmis.mk b/libcmis/UnpackedTarball_cmis.mk
index 57864742c62d..0b2a9fbc261d 100644
--- a/libcmis/UnpackedTarball_cmis.mk
+++ b/libcmis/UnpackedTarball_cmis.mk
@@ -13,6 +13,8 @@ $(eval $(call gb_UnpackedTarball_set_tarball,cmis,$(CMIS_TARBALL)))
$(eval $(call gb_UnpackedTarball_set_patchlevel,cmis,0))
+$(eval $(call gb_UnpackedTarball_add_patches,cmis,libcmis/libcmis-0.4.1.patch))
+
ifeq ($(OS)$(COM),WNTMSC)
$(eval $(call gb_UnpackedTarball_add_patches,cmis,libcmis/boost-win.patch))
endif
diff --git a/libcmis/libcmis-0.4.1.patch b/libcmis/libcmis-0.4.1.patch
new file mode 100644
index 000000000000..214475fc575d
--- /dev/null
+++ b/libcmis/libcmis-0.4.1.patch
@@ -0,0 +1,95 @@
+diff --git src/libcmis/json-utils.cxx src/libcmis/json-utils.cxx
+index b537a09..b4e037d 100644
+--- src/libcmis/json-utils.cxx
++++ src/libcmis/json-utils.cxx
+@@ -213,48 +213,54 @@ Json::Type Json::parseType( )
+ {
+ Type type = json_string;
+ string str = toString( );
+- boost::posix_time::ptime time = libcmis::parseDateTime( str );
+- if ( !time.is_not_a_date_time( ) )
+- type = json_datetime;
+- else
++ if ( str.empty( ) )
++ return type;
++ try
+ {
+- Type backupType = type;
+- type = json_bool;
+- try
+- {
+- parseBool( str );
+- }
+- catch (...)
++ boost::posix_time::ptime time = libcmis::parseDateTime( str );
++ if ( !time.is_not_a_date_time( ) )
++ return json_datetime;
++ }
++ catch (...)
++ {
++ // Try other types
++ }
++ Type backupType = type;
++ type = json_bool;
++ try
++ {
++ parseBool( str );
++ }
++ catch (...)
++ {
++ type = backupType;
++ }
++ if ( type != json_bool )
++ {
++ if ( str.find('.') == string::npos )
+ {
+- type = backupType;
++ backupType = type;
++ type = json_int;
++ try
++ {
++ parseInteger( str );
++ }
++ catch(...)
++ {
++ type = backupType;
++ }
+ }
+- if ( type != json_bool )
++ else
+ {
+- if ( str.find('.') == string::npos )
++ backupType = type;
++ type = json_double;
++ try
+ {
+- backupType = type;
+- type = json_int;
+- try
+- {
+- parseInteger( str );
+- }
+- catch(...)
+- {
+- type = backupType;
+- }
++ parseDouble( str );
+ }
+- else
+- {
+- backupType = type;
+- type = json_double;
+- try
+- {
+- parseDouble( str );
+- }
+- catch(...)
+- {
+- type = backupType;
+- }
++ catch(...)
++ {
++ type = backupType;
+ }
+ }
+ }