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 55846ace3c50c7b81634db44ff9c42ca0cc7e67a

Fix selection of file after leaving FUSE mount point.
Author: xaizek
Author date (UTC): 2011-05-22 10:43
Committer name: xaizek
Committer date (UTC): 2011-05-22 10:43
Parent(s): 115270741e514cd53241f576c13136fa407768c5
Signing key:
Tree: a828f2e5558b2d2b26cffc65859bd4fc4e63d055
File Lines added Lines deleted
src/filelist.c 7 2
src/fileops.c 5 4
File src/filelist.c changed (mode: 100644) (index 3962152e2..1cf638cfc)
... ... leave_invalid_dir(FileView *view, char *path)
912 912 * The *directory passed to change_directory() cannot be modified. * The *directory passed to change_directory() cannot be modified.
913 913 * Symlink directories require an absolute path * Symlink directories require an absolute path
914 914 * *
915 * Returns 0 if there were no errors.
915 * Returns:
916 * -1 if there were errors.
917 * 0 if directory successfully changed and we didn't leave FUSE mount
918 * directory.
919 * 1 if directory successfully changed and we left FUSE mount directory.
916 920 */ */
917 921 int int
918 922 change_directory(FileView *view, const char *directory) change_directory(FileView *view, const char *directory)
 
... ... change_directory(FileView *view, const char *directory)
993 997 change_directory(view, runner->source_file_dir); change_directory(view, runner->source_file_dir);
994 998 char *filen = runner->source_file_name; char *filen = runner->source_file_name;
995 999 filen += strlen(runner->source_file_dir) + 1; filen += strlen(runner->source_file_dir) + 1;
1000 load_dir_list(view, 0);
996 1001 found = find_file_pos_in_list(view, filen); found = find_file_pos_in_list(view, filen);
997 1002 moveto_list_pos(view, found); moveto_list_pos(view, found);
998 1003 free(runner); free(runner);
999 return 0;
1004 return 1;
1000 1005 } }
1001 1006 } }
1002 1007
File src/fileops.c changed (mode: 100644) (index 037ad4b21..62d8d02a2)
... ... cd_updir(FileView *view)
275 275 get_last_path_component(view->curr_dir, dir_name); get_last_path_component(view->curr_dir, dir_name);
276 276 strcat(dir_name, "/"); strcat(dir_name, "/");
277 277
278 change_directory(view, "../");
279 load_dir_list(view, 0);
280
281 moveto_list_pos(view, find_file_pos_in_list(view, dir_name));
278 if(change_directory(view, "../") != 1)
279 {
280 load_dir_list(view, 0);
281 moveto_list_pos(view, find_file_pos_in_list(view, dir_name));
282 }
282 283 } }
283 284
284 285 void void
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