Kaydet (Commit) c33b82bd authored tarafından Cédric Bosdonnat's avatar Cédric Bosdonnat

libcmis: add a mandatory patch for GDrive feature to properly work

Change-Id: I1bd183508b7f481feed641f8658c0baea6f743bd
üst 4e2d2381
...@@ -13,6 +13,8 @@ $(eval $(call gb_UnpackedTarball_set_tarball,cmis,$(CMIS_TARBALL))) ...@@ -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
......
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 ...@@ -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 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment