libcmis: add a mandatory patch for GDrive feature to properly work
Change-Id: I1bd183508b7f481feed641f8658c0baea6f743bd
This commit is contained in:
@@ -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_set_patchlevel,cmis,0))
|
||||||
|
|
||||||
|
$(eval $(call gb_UnpackedTarball_add_patches,cmis,libcmis/libcmis-0.4.1.patch))
|
||||||
|
|
||||||
ifeq ($(OS)$(COM),WNTMSC)
|
ifeq ($(OS)$(COM),WNTMSC)
|
||||||
$(eval $(call gb_UnpackedTarball_add_patches,cmis,libcmis/boost-win.patch))
|
$(eval $(call gb_UnpackedTarball_add_patches,cmis,libcmis/boost-win.patch))
|
||||||
endif
|
endif
|
||||||
|
95
libcmis/libcmis-0.4.1.patch
Normal file
95
libcmis/libcmis-0.4.1.patch
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -171,7 +171,7 @@ namespace
|
|||||||
bool bMultiValued = prop.MultiValued;
|
bool bMultiValued = prop.MultiValued;
|
||||||
bool bOpenChoice = prop.OpenChoice;
|
bool bOpenChoice = prop.OpenChoice;
|
||||||
uno::Any value = prop.Value;
|
uno::Any value = prop.Value;
|
||||||
libcmis::PropertyType::Type type;
|
libcmis::PropertyType::Type type = libcmis::PropertyType::String;
|
||||||
if ( prop.Type == CMIS_TYPE_STRING )
|
if ( prop.Type == CMIS_TYPE_STRING )
|
||||||
type = libcmis::PropertyType::String;
|
type = libcmis::PropertyType::String;
|
||||||
else if ( prop.Type == CMIS_TYPE_BOOL )
|
else if ( prop.Type == CMIS_TYPE_BOOL )
|
||||||
|
Reference in New Issue
Block a user