xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit bbbd83dd9f23251a4f535d660be525138e4e572c

Fix segmentation fault on FUSE mount.
It happened when FUSE program mounted file successfully, but vifm
couldn't read mounted directory content.
Author: xaizek
Author date (UTC): 2011-06-18 19:34
Committer name: xaizek
Committer date (UTC): 2011-06-18 19:34
Parent(s): fa59a7837ae248e4338d4377b1dc9154dca3a28b
Signing key:
Tree: c167bbe89a3687d515e8c208cc67f7e0cf56f3c4
File Lines added Lines deleted
src/filelist.c 7 1
src/fileops.c 2 1
src/modes.c 1 1
File src/filelist.c changed (mode: 100644) (index 55f5e7216..ccbd8a035)
... ... save_view_history(FileView *view)
835 835 { {
836 836 int x; int x;
837 837
838 /* this could happen on FUSE error */
839 if(view->list_rows <= 0)
840 return;
841
838 842 if(cfg.history_len == 0) if(cfg.history_len == 0)
839 843 return; return;
840 844 if(curr_stats.skip_history) if(curr_stats.skip_history)
 
... ... check_if_filelists_have_changed(FileView *view)
1670 1674
1671 1675 if(stat(view->curr_dir, &s) != 0) if(stat(view->curr_dir, &s) != 0)
1672 1676 { {
1673 show_error_msg("Directory Access Error", "Cannot open directory");
1677 char buf[12 + PATH_MAX + 1];
1678 snprintf(buf, sizeof(buf), "Cannot open %s", view->curr_dir);
1679 show_error_msg("Directory Access Error", buf);
1674 1680 leave_invalid_dir(view, view->curr_dir); leave_invalid_dir(view, view->curr_dir);
1675 1681 change_directory(view, view->curr_dir); change_directory(view, view->curr_dir);
1676 1682 clean_selected_files(view); clean_selected_files(view);
File src/fileops.c changed (mode: 100644) (index 85d7d52a7..da9db2f05)
... ... check_link_is_dir(FileView *view, int pos)
278 278 { {
279 279 struct stat s; struct stat s;
280 280 linkto[len] = '\0'; linkto[len] = '\0';
281 lstat(linkto, &s);
281 if(lstat(linkto, &s) != 0)
282 return 0;
282 283
283 284 if((s.st_mode & S_IFMT) == S_IFDIR) if((s.st_mode & S_IFMT) == S_IFDIR)
284 285 return 1; return 1;
File src/modes.c changed (mode: 100644) (index 321e9ead2..5d5118dc2)
... ... modes_post(void)
115 115
116 116 if(curr_stats.show_full) if(curr_stats.show_full)
117 117 show_full_file_properties(curr_view); show_full_file_properties(curr_view);
118 else
118 else if(curr_view->list_rows > 0)
119 119 update_stat_window(curr_view); update_stat_window(curr_view);
120 120
121 121 if(curr_stats.save_msg) if(curr_stats.save_msg)
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master