1
1

* dir.c (do_load_dir): Add an error message if mc_opendir()

fails.
(do_reload_dir): Likewise.
* screen.c (do_enter_on_file_entry): Add an error message if
do_cd() fails.
Этот коммит содержится в:
Pavel Roskin 2002-12-16 06:42:15 +00:00
родитель 1b2f7e7d13
Коммит 0e1af8e457
4 изменённых файлов: 33 добавлений и 22 удалений

Просмотреть файл

@ -1,3 +1,11 @@
2002-12-16 Pavel Roskin <proski@gnu.org>
* dir.c (do_load_dir): Add an error message if mc_opendir()
fails.
(do_reload_dir): Likewise.
* screen.c (do_enter_on_file_entry): Add an error message if
do_cd() fails.
2002-12-15 Pavel Roskin <proski@gnu.org> 2002-12-15 Pavel Roskin <proski@gnu.org>
* view.c (do_view_init): Use non-blocking open() followed by * view.c (do_view_init): Use non-blocking open() followed by

Просмотреть файл

@ -8,8 +8,6 @@ ftp and fish with home != '/' - readjust directory to the home.
Allow modifiers for keys in mc.lib, like "shift-up". Allow modifiers for keys in mc.lib, like "shift-up".
Check and report errors from opendir().
Before 4.6.0 Before 4.6.0
============ ============

Просмотреть файл

@ -457,7 +457,8 @@ handle_path (dir_list *list, char *path,
} }
int int
do_load_dir (dir_list *list, sortfn *sort, int reverse, int case_sensitive, char *filter) do_load_dir (dir_list *list, sortfn *sort, int reverse, int case_sensitive,
char *filter)
{ {
DIR *dirp; DIR *dirp;
struct dirent *dp; struct dirent *dp;
@ -470,11 +471,13 @@ do_load_dir (dir_list *list, sortfn *sort, int reverse, int case_sensitive, char
dirp = mc_opendir ("."); dirp = mc_opendir (".");
if (!dirp) { if (!dirp) {
message (1, MSG_ERROR, _("Cannot read directory contents"));
tree_store_end_check (); tree_store_end_check ();
return set_zero_dir (list); return set_zero_dir (list);
} }
for (dp = mc_readdir (dirp); dp; dp = mc_readdir (dirp)) { for (dp = mc_readdir (dirp); dp; dp = mc_readdir (dirp)) {
status = handle_dirent (list, filter, dp, &buf, next_free, &link_to_dir, status =
handle_dirent (list, filter, dp, &buf, next_free, &link_to_dir,
&stale_link); &stale_link);
if (status == 0) if (status == 0)
continue; continue;
@ -576,6 +579,7 @@ do_reload_dir (dir_list * list, sortfn * sort, int count, int rev,
tree_store_start_check_cwd (); tree_store_start_check_cwd ();
dirp = mc_opendir ("."); dirp = mc_opendir (".");
if (!dirp) { if (!dirp) {
message (1, MSG_ERROR, _("Cannot read directory contents"));
clean_dir (list, count); clean_dir (list, count);
tree_store_end_check (); tree_store_end_check ();
return set_zero_dir (list); return set_zero_dir (list);

Просмотреть файл

@ -1926,7 +1926,8 @@ do_enter_on_file_entry (file_entry *fe)
/* Directory or link to directory - change directory */ /* Directory or link to directory - change directory */
if (S_ISDIR (fe->buf.st_mode) || link_isdir (fe)) { if (S_ISDIR (fe->buf.st_mode) || link_isdir (fe)) {
do_cd (fe->fname, cd_exact); if (!do_cd (fe->fname, cd_exact))
message (1, MSG_ERROR, _("Cannot change directory"));
return 1; return 1;
} }