diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2007-01-30 08:26:06 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2007-01-30 08:26:06 +0000 |
commit | a381897d19f69b21bbb072e3559ea13d5953b58a (patch) | |
tree | 7eaa1fccd9078275bd47131ea4201a62b17beb42 | |
parent | 490f8a3c8523df7b71399d30cf61fd3e503c54da (diff) |
also scan symbolic links on MH mailboxes.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1513 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.ja | 7 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | libsylph/mh.c | 2 | ||||
-rw-r--r-- | libsylph/utils.c | 11 |
5 files changed, 24 insertions, 4 deletions
@@ -1,5 +1,11 @@ 2007-01-30 + * libsylph/mh.c: mh_scan_tree_recursive(): also scan symbolic links. + * libsylph/utils.c: remove_dir_recursive_real(): if rmdir() fails, + try unlink() for symbolic links. + +2007-01-30 + * src/mainwindow.[ch] src/prefs_toolbar.[ch]: added new toolbar items. diff --git a/ChangeLog.ja b/ChangeLog.ja index 41bfbedd..f9637cf1 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,5 +1,12 @@ 2007-01-30 + * libsylph/mh.c: mh_scan_tree_recursive(): シンボリックリンクも + スキャンするようにした。 + * libsylph/utils.c: remove_dir_recursive_real(): rmdir() が失敗した + 場合は unlink() を試すようにした(シンボリックリンクの対策)。 + +2007-01-30 + * src/mainwindow.[ch] src/prefs_toolbar.[ch]: ツールバーの項目を新規に追加。 diff --git a/configure.in b/configure.in index bdab124e..15e39b07 100644 --- a/configure.in +++ b/configure.in @@ -9,7 +9,7 @@ MINOR_VERSION=4 MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=beta1 +EXTRA_VERSION=beta2 BUILD_REVISION=0 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION diff --git a/libsylph/mh.c b/libsylph/mh.c index 12c1c966..b677f9fc 100644 --- a/libsylph/mh.c +++ b/libsylph/mh.c @@ -1520,7 +1520,7 @@ static void mh_scan_tree_recursive(FolderItem *item) #else #if HAVE_DIRENT_D_TYPE d->d_type == DT_DIR || - (d->d_type == DT_UNKNOWN && + ((d->d_type == DT_UNKNOWN || d->d_type == DT_LNK) && #endif g_stat(entry, &s) == 0 && S_ISDIR(s.st_mode) #if HAVE_DIRENT_D_TYPE diff --git a/libsylph/utils.c b/libsylph/utils.c index 5e3ba645..85758fe3 100644 --- a/libsylph/utils.c +++ b/libsylph/utils.c @@ -2425,8 +2425,15 @@ static gint remove_dir_recursive_real(const gchar *dir) g_free(prev_dir); if (g_rmdir(dir) < 0) { - FILE_OP_ERROR(dir, "rmdir"); - return -1; + if (ENOTDIR == errno) { + if (g_unlink(dir) < 0) { + FILE_OP_ERROR(dir, "unlink"); + return -1; + } + } else { + FILE_OP_ERROR(dir, "rmdir"); + return -1; + } } return 0; |