diff options
author | Vladimir Glazunov <vg@openoffice.org> | 2010-02-12 15:41:38 +0100 |
---|---|---|
committer | Vladimir Glazunov <vg@openoffice.org> | 2010-02-12 15:41:38 +0100 |
commit | d0ba772044bce89644839e9eb2451f67045fd057 (patch) | |
tree | bae37492757db4cd1bf76f20cc12c1fc7bf86a13 /ucb | |
parent | CWS-TOOLING: integrate CWS svxsplit (diff) | |
parent | tkr32: #i106190# remove ooofiltproxy (diff) | |
download | core-d0ba772044bce89644839e9eb2451f67045fd057.tar.gz core-d0ba772044bce89644839e9eb2451f67045fd057.zip |
CWS-TOOLING: integrate CWS tkr32
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/ftp/ftpcontent.cxx | 2 | ||||
-rw-r--r-- | ucb/source/ucp/gvfs/gvfs_content.cxx | 36 | ||||
-rw-r--r-- | ucb/source/ucp/gvfs/gvfs_directory.cxx | 24 |
3 files changed, 31 insertions, 31 deletions
diff --git a/ucb/source/ucp/ftp/ftpcontent.cxx b/ucb/source/ucp/ftp/ftpcontent.cxx index 73300c16844b..fc9ce0ac88f8 100644 --- a/ucb/source/ucp/ftp/ftpcontent.cxx +++ b/ucb/source/ucp/ftp/ftpcontent.cxx @@ -622,9 +622,7 @@ Any SAL_CALL FTPContent::execute( else if(e.code() == CURLE_COULDNT_RESOLVE_HOST ) action = THROWRESOLVENAME; else if(e.code() == CURLE_FTP_USER_PASSWORD_INCORRECT || -#if LIBCURL_VERSION_NUM>=0x070d01 /* 7.13.1 */ e.code() == CURLE_LOGIN_DENIED || -#endif e.code() == CURLE_BAD_PASSWORD_ENTERED || e.code() == CURLE_FTP_WEIRD_PASS_REPLY) action = THROWAUTHENTICATIONREQUEST; diff --git a/ucb/source/ucp/gvfs/gvfs_content.cxx b/ucb/source/ucp/gvfs/gvfs_content.cxx index cdfc313a5c8f..7be8fab75e14 100644 --- a/ucb/source/ucp/gvfs/gvfs_content.cxx +++ b/ucb/source/ucp/gvfs/gvfs_content.cxx @@ -629,38 +629,38 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues( else xRow->appendVoid( rProp ); } - else if (rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "IsFolder" ) ) ) { if (m_info.valid_fields & GNOME_VFS_FILE_INFO_FIELDS_TYPE) xRow->appendBoolean( rProp, ( m_info.type == GNOME_VFS_FILE_TYPE_DIRECTORY ) ); else xRow->appendVoid( rProp ); } + else if (rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "IsReadOnly" ) ) ) { - else if (rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "Size" ) ) ) { - if (m_info.valid_fields & GNOME_VFS_FILE_INFO_FIELDS_SIZE) - xRow->appendLong( rProp, m_info.size ); - else - xRow->appendVoid( rProp ); - } + GnomeVFSFileInfo* fileInfo = gnome_vfs_file_info_new (); - else if (rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "IsReadOnly" ) ) ) { - if (m_info.valid_fields & GNOME_VFS_FILE_INFO_FIELDS_PERMISSIONS) { + ::rtl::OString aURI = getOURI(); + gnome_vfs_get_file_info + ( (const sal_Char *)aURI, fileInfo, + GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS ); + + if (fileInfo->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_ACCESS) { bool read_only = true; - if (m_info.uid == getuid () && - m_info.permissions & GNOME_VFS_PERM_USER_WRITE) - read_only = false; - else if (m_info.gid == getgid () && - m_info.permissions & GNOME_VFS_PERM_GROUP_WRITE) - read_only = false; - else if (m_info.permissions & GNOME_VFS_PERM_OTHER_WRITE) - read_only = false; + if (fileInfo->permissions & GNOME_VFS_PERM_ACCESS_WRITABLE) + read_only = false; + xRow->appendBoolean( rProp, read_only ); } else xRow->appendVoid( rProp ); + gnome_vfs_file_info_unref (fileInfo); + } + else if (rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "Size" ) ) ) { + if (m_info.valid_fields & GNOME_VFS_FILE_INFO_FIELDS_SIZE) + xRow->appendLong( rProp, m_info.size ); + else + xRow->appendVoid( rProp ); } - else if (rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "IsHidden" ) ) ) xRow->appendBoolean( rProp, ( m_info.name && m_info.name[0] == '.' ) ); diff --git a/ucb/source/ucp/gvfs/gvfs_directory.cxx b/ucb/source/ucp/gvfs/gvfs_directory.cxx index d8357a060a3e..2b8328886c38 100644 --- a/ucb/source/ucp/gvfs/gvfs_directory.cxx +++ b/ucb/source/ucp/gvfs/gvfs_directory.cxx @@ -360,25 +360,24 @@ sal_Bool DataSupplier::getData() g_free( uri ); } + GnomeVFSFileInfo* fileInfo = gnome_vfs_file_info_new (); - GnomeVFSFileInfo fileInfo; - fileInfo.name = 0; - while ((result = gnome_vfs_directory_read_next (dirHandle, &fileInfo)) == GNOME_VFS_OK) { - if( fileInfo.name && fileInfo.name[0] == '.' && - ( fileInfo.name[1] == '\0' || - ( fileInfo.name[1] == '.' && fileInfo.name[2] == '\0' ) ) ) + while ((result = gnome_vfs_directory_read_next (dirHandle, fileInfo)) == GNOME_VFS_OK) { + if( fileInfo->name && fileInfo->name[0] == '.' && + ( fileInfo->name[1] == '\0' || + ( fileInfo->name[1] == '.' && fileInfo->name[2] == '\0' ) ) ) continue; switch ( m_pImpl->m_nOpenMode ) { case ucb::OpenMode::FOLDERS: - if ( !(fileInfo.valid_fields & GNOME_VFS_FILE_INFO_FIELDS_TYPE) || - fileInfo.type != GNOME_VFS_FILE_TYPE_DIRECTORY ) + if ( !(fileInfo->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_TYPE) || + fileInfo->type != GNOME_VFS_FILE_TYPE_DIRECTORY ) continue; break; case ucb::OpenMode::DOCUMENTS: - if ( !(fileInfo.valid_fields & GNOME_VFS_FILE_INFO_FIELDS_TYPE) || - fileInfo.type != GNOME_VFS_FILE_TYPE_REGULAR ) + if ( !(fileInfo->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_TYPE) || + fileInfo->type != GNOME_VFS_FILE_TYPE_REGULAR ) continue; break; @@ -387,8 +386,11 @@ sal_Bool DataSupplier::getData() break; } - m_pImpl->m_aResults.push_back( new ResultListEntry( &fileInfo ) ); + m_pImpl->m_aResults.push_back( new ResultListEntry( fileInfo ) ); } + + gnome_vfs_file_info_unref (fileInfo); + #ifdef DEBUG g_warning ("Got %d directory entries", result); #endif |