Andrew Borodin
45bd20ab0b
VFS: move logfile member from vfs_s_subclass to vfs_class.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
94c0b79f37
VFS: change vfs_class::nothingisopen members
...
Do not free VFS before nested one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
5b0f177e62
vfs_class::nothingisopen: return gboolean instead of int.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
3d6d6bd9a6
lib/vfs/gc.c: yet another fixups
...
* (vfs_expire): refactor.
* Fix typos.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
7548679271
VFS: invalidate file descriptors after close.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
210ccc2f65
(vfs_path_from_str_uri_parser): get rid of extra type cast.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-06-15 17:43:00 +03:00
Andrew Borodin
0c66d9cef6
extfs: refactoring: use standard VFS structures.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:25 +03:00
Andrew Borodin
533cbbd971
VFS: make vfs_file_handler related macros more readable.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
6d21416672
VFS: derive VFS-specific file handler class from vfs_file_handler_t.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
3e08cc7226
VFS: derive VFS-specific super class from vfs_s_super.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
d51f1f4963
VFS: refactor VFS unit initialization.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
672ba46c8b
VFS: make vfs_class and vfs_s_subclass related macros more readable.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
0fbd98fece
Join vfs_class_flags_t and vfs_subclass_flags_t.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
c764d60238
VFS: (vfs_s_subclass): derive from vfs_class.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
f11c78f9d0
(vfs_unregister_class): new API.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
45b10aed6b
VFS GC: fixups of reimplement using GSList.
...
Fixups for commit f45ea691db
.
Don't use g_list_foreach() for list that is being modified.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
28cdea55cd
Revert "VFS GC: use mc_timer."
...
This reverts commit f21f27c5ae
to fix an unexpected segfaults.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-04-27 19:29:24 +03:00
Andrew Borodin
f21f27c5ae
VFS GC: use mc_timer.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-02-03 13:10:00 +03:00
Andrew Borodin
f45ea691db
VFS GC: reimplement using GSList.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-02-03 13:10:00 +03:00
Andrew Borodin
d451d5978f
vfs_stamping: make opaque.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-02-03 13:10:00 +03:00
Andrew Borodin
1dd8a47987
Ticket #3955 : code cleanup before 4.8.23 release.
...
Update copyright years.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-02-03 12:44:40 +03:00
Andrew Borodin
ba6845f2d6
(vfs_stamp_path): get rid of path conversion.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-01-13 12:33:06 +03:00
Andrew Borodin
792d25a48b
Sync with gnulib 4d4877e6c2123c4862c321f3eab28a55bf886216.
...
Remove support for AIX PS/2.
* m4.include/gnulib/fsusage.m4: (gl_PREREQ_FSUSAGE_EXTRA): Don't check
for dustat.h.
* lib/unixcompat.h: Remove code for AIX PS/2.
* lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
* lib/vfs/vfs.c: Likewise.
* src/filemanager/mountlist.c: Likewise.
* src/vfs/smbfs/helpers/include/includes.h: Likewise.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-11-24 14:40:42 +03:00
Andrew Borodin
1fec6e9854
Partially revert "VFS: (vfs_s_subclass): make the derived class from vfs_class."
...
This reverts commit 5d1284c4a6
.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-10 12:47:12 +03:00
Andrew Borodin
c7206191bc
Revert "VFS: make VFS-specific super class as derived one from vfs_s_super."
...
This reverts commit ab033ad318
.
2018-09-10 12:47:12 +03:00
Andrew Borodin
c91e3d5edb
Revert "VFS: make VFS-specific file handler class the derived one from vfs_file_handler_t."
...
This reverts commit 2d58e4d624
.
2018-09-10 12:47:12 +03:00
Andrew Borodin
88d6157323
(vfs_preallocate): check mc_global.vfs.preallocate_space before call.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-09 19:10:43 +03:00
Andrew Borodin
b684ce2565
Clarify usage of FL_NONE value.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-09 19:10:43 +03:00
Andrew Borodin
2d58e4d624
VFS: make VFS-specific file handler class the derived one from vfs_file_handler_t.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-09 19:10:43 +03:00
Andrew Borodin
ab033ad318
VFS: make VFS-specific super class as derived one from vfs_s_super.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-09 19:10:43 +03:00
Andrew Borodin
5d1284c4a6
VFS: (vfs_s_subclass): make the derived class from vfs_class.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-09 19:10:43 +03:00
Andrew Borodin
2e5cd866f9
Check linux/fs.h file.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-03 09:44:42 +03:00
Andrew Borodin
23a2056a18
(vfs_clone_file): clarify errno in case of bad file descriptors.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-03 09:33:32 +03:00
gray_-_wolf
0493a5e90e
Ticket #1983 : support BTRFS's file clone operation.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-09-03 09:33:32 +03:00
Andrew V. Samoilov
35376105d4
(vfs_url_split): Fix 2 memory leaks found by valgrind.
...
Signed-off-by: Andrew V. Samoilov <a.samoilov@gmail.com>
2018-02-04 11:30:23 +03:00
Andrew Borodin
af466458b7
vfs: create enum vfs_linear_state_t instead of defines.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
95e1ab3064
vfs: use LS_NOT_LINEAR constant.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
cb354e5490
(vfs_file_handler_t::changed): change type from int to gboolean.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
a514ce6d13
(vfs_s_super::want_stale): change type from int to gboolean.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
f1d9b67bb5
lib/vfs/direntry.c: apply cpding style; cosmetics.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:23 +03:00
Andrew Borodin
ddd645526a
Update copyright years.
2018-02-04 11:30:22 +03:00
Andrew Borodin
6e994011f5
(vfs_path_url_split): minor optimization.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:22 +03:00
Andrew Borodin
b7c54f64bb
(vfs_mkstemps): don't allocate a large memory chunk.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2018-02-04 11:30:22 +03:00
Andrew Borodin
3424622d5a
(vfs_path_from_str_deprecated_parser, vfs_path_from_str_uri_parser): remove unused flags argument.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-11-17 16:01:29 +03:00
Andrew Borodin
8715c41a47
(vfs_path_from_str_uri_parser): fix detection of relative path.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-11-17 16:01:29 +03:00
Yury V. Zaytsev
f0414be51d
Zero struct stat tv_nsec (if supported) whenever st is filled manually
...
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-05-17 21:18:58 +02:00
Andrew Borodin
e9fd11bfcd
Update copyright years.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-01-22 19:12:55 +03:00
Andrew Borodin
aae43d362f
(vfs_adjust_stat): new VFS API, currently used to calculate st_blocks.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-01-11 14:52:35 +03:00
Andrew Borodin
bf40acf420
Clarify usage of st_rdev. Use it if HAVE_STRUCT_STAT_ST_RDEV is defined.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-01-11 14:52:35 +03:00
Andrew Borodin
061d60b82f
Modify VFS APIs.
...
* vfs_s_stat: make public.
* vfs_s_lstat: likewise.
* vfs_s_fstat: likewise.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-01-11 14:52:35 +03:00
Andrew Borodin
a8a8e85279
(vfs_s_default_stat): define st_blksize and st_blocks explicitly.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-01-11 14:52:35 +03:00
Andrey Gursky
4c418047b2
Ticket #3575 : preserve timestamps with nanosecond precisions during file copy
...
MC truncates timestamps during file copy and drops sub-second precision.
Make use of utimensat(), introduced in Linux kernel 2.6.22 (and since
2.6.26 compatible with POSIX-1.2008).
Signed-off-by: Andrey Gursky <andrey.gursky@e-mail.ua>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-12-25 08:46:10 +03:00
Mooffie
12812968c0
extfs: fix documentation of allowed date formats.
...
We also improve the documentation of vfs_parse_filedate(), which does the
actual work.
Note that in the user-facing documentation (extfs/helpers/README) there are
two things we prefer *not* to mention about vfs_parse_filedate's ability:
* Accepting the format "MM-DD-YY hh:mm[:ss]", as this two-digit year is
more likely to confuse readers of such dates.
* Accepting '/', instead of '-', as the separator in MM-DD-YYYY. (Considering
that some scripts do use '/', maybe we should mention it?)
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-12-13 13:14:43 +03:00
Sorin Sbarnea
0cf8e8f6e0
Ticker #3736 : mc_tmpdir() use a buffer of only 64 characters.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-12-07 09:47:55 +03:00
Andrew Borodin
2356acc26d
NULL-ize some variables to make unit tests happy.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-11-21 13:12:55 +03:00
Andreas Mohr
7e689e8e43
(vfs_die): cleanup no attribute noreturn warning.
...
utilvfs.c: In function 'vfs_die':
utilvfs.c:354:1: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn]
vfs_die (const char *m)
^~~~~~~
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-11-21 13:12:55 +03:00
Andrew Borodin
9df8bc2d12
(vfs_path_deserialize): refactoring.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-11-21 13:12:54 +03:00
Andrew Borodin
de0e960de5
(vfs_path_serialize): get rid of dynamic string allocation.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-11-21 13:12:54 +03:00
Andreas Mohr
b36cec44e3
Cleanup unused macros.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin
28e4dfd059
(mc_ctl): join conditions.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin
e2c62afcc7
(vfs_strip_suffix_from_filename): refactoring.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin
9f606a6668
(vfs_setup_cwd): move directory test to separate function.
2016-07-29 09:32:04 +03:00
Andreas Mohr
67035605b9
lib/vfs/direntry.c: cleanup cppcheck warnings.
...
Cleanup following cppcheck warnings:
[lib/vfs/direntry.c:121]: (style) Clarify calculation precedence for '&' and '?'.
[lib/vfs/direntry.c:386]: (style) Clarify calculation precedence for '&' and '?'.
[lib/vfs/direntry.c:391]: (style) Clarify calculation precedence for '&' and '?'.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
bc14ff44c8
Remove min() and max() macros. Use MIN() and MAX() macros from GLib.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
eef076cef6
cppcheck: Cleanup Passing NULL after the last typed argument warning
...
Cleanup Passing NULL after the last typed argument warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
8bb9605bfd
VFS optimization: ret rid of double call of vfs_get_openfile() in file operations.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
623015eb0d
(mc_closedir): fix NULL dereference.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
a9e5957196
(mc_fstat): fix function used to set up of errno value.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
3231160d99
lib/vfs/path.c: cleanup some -Wcast-qual warning.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Mooffie
0e89375772
Ticket #3617 : (mc_open): handle varargs mode_t promotion issue.
...
On systems where 'mode_t' is smaller than 'int', doing 'va_arg (ap, mode_t)' is
wrong because of C's "default argument promotions". GCC 4 creates crashing code
in this case.
The "va_arg" page of Gnulib's manual describes the problem and a simple solution:
https://www.gnu.org/software/gnulib/manual/html_node/va_005farg.html
However, since that solution reportedly (see thread at next link) still causes
GCC to print warnings (for no good reason; perhaps this was fixed in newer
GCCs), we pick a solution that defines a PROMOTED_MODE_T at the configuration
stage:
https://lists.gnu.org/archive/html/bug-gnulib/2009-05/msg00231.html
(We take our 'mode_t.m4' from the most recent Gnulib source.)
(If any of the URLs above no longer works, simply search the web for the
mentioned words.)
2016-03-28 08:59:14 +03:00
Yury V. Zaytsev
a8f512c12c
Remove unneeded struct
keyword for typedef'd structs
...
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2016-03-04 09:23:38 +03:00
Andreas Mohr
9aeacda0d9
lib/vfs/direntry.c: remove unused variables.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andreas Mohr
b9797d6637
Use meaningful errno or 0.
...
Use real errno or set it to 0 when no meaningful error code exists
for current user error message.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-02 09:42:51 +03:00
Andrew Borodin
f7b360d5a0
Fix typo.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-03 15:39:57 +03:00
Andrew Borodin
471ea781ca
Update copyright years.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:10 +03:00
Andrew Borodin
a3337615f6
(vfs_s_print_stats): avoid macros in i18n resources.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:08 +03:00
Andreas Mohr
3a714da154
Fix -Wconversion warning for mask/mode values: use mode_t instead of int.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Andrew Borodin
97f65abd94
Reimplement handling of ev_vfs_print_message_t message.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:33:21 +03:00
Andrew Borodin
3e622b822e
(vfs_get_current_dir): avoid string duplication.
...
(vfs_get_current_dir_n): new function returned newly allocated string.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:33:21 +03:00
Andrew Borodin
d9ad3d2e32
Clarify __attribute ((format (printf))) usage.
...
Thanks Andreas Mohr <and@gmx.li> for the original patch.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:33:20 +03:00
Andrew Borodin
bb6f1e6695
Fix calls of vfs_print_message().
2015-11-05 14:32:54 +03:00
Andrew Borodin
e9db0a0c12
(vfs_canon): merge local variables.
2015-11-05 14:32:52 +03:00
Andrew Borodin
cb567b5ea6
(vfs_s_print_stats): get rid of static variables.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:32:52 +03:00
Mooffie
b681f4bbef
Ticket #3472 : documentation for vfs/gc.c.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-06-18 21:13:49 +03:00
Andreas Mohr
f1b73ffe6e
Ticket #3465 : add -Wmissing-variable-declarations option...
...
...and fix relative warnings.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:18 +03:00
Andreas Mohr
156bf097e2
Ticket #3464 : (compute_namelen): remove...
...
...since DIRENT_LENGTH_COMPUTED is always 1.
compute_namelen() returns without functional logic.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:18 +03:00
Andrew Borodin
2789e6e390
Ticket #3431 : add missing default cases.
...
Introduce -Wswitch-default check.
Some minor cosmetics.
Thanks Andreas Mohr <and at gmx dot li> for original patch.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:50 +03:00
Andrew Borodin
b698b7e834
Ticket #3435 : clang compiler fixes/cleanups.
...
Since O_* macros are used in lib/global.h, include <fcntl.h> there.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:49 +03:00
Andrew Borodin
42e7e39bd8
Add IS_PATH_SEP macro and use it.
...
Also massive use of PATH_SEP and PATH_SEP_STR macros.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:13:02 +03:00
Andrew Borodin
454479549c
Update copyright years.
2015-02-26 09:12:08 +03:00
Veres Lajos
8d4d8d275f
A few typofixes.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-09-02 15:32:36 +04:00
Andrew Borodin
6d82155270
Massive use of MC_PTR_FREE macro.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-09-02 15:32:36 +04:00
Slava Zanko
512ad7d962
Make working with GError in more right way (like with exceptions).
...
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2014-07-22 13:12:07 +04:00
Andrew Borodin
2d9cf4cad1
(vfs_s_get_line_interruptible): disable interrrupt after finish of read
...
...and type accuracies.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-07-22 13:10:41 +04:00
Andrew Borodin
e5203cb023
Fix name of FSF in all *.c files.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-28 13:33:17 +04:00
Eugene San (eugenesan)
198334ccc4
From ticket #3116 : fix possible segfault when freeing a VFS.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-10 16:27:03 +04:00
Andrew Borodin
f0da49345a
Collapse list of copyright years to ranges. Add 2014 year.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-10 16:27:03 +04:00
Andrew Borodin
094fd0cd89
Use symbolic names for standard file descriptors.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-10 16:26:17 +04:00
Egmont Koblinger
7866bf7342
Ticket #3093 : keep symlinks in cwd at startup.
...
If you navigate in your shell to a directory containing symlinks and
then start mc, mc will show the canonical path instead. It would be nice
to make it show the directory with the symlinks.
Example: in your shell execute these:
user:~$ mkdir -p /tmp/a/b /tmp/x ; ln -s /tmp/a/b /tmp/x/y
user:~$ cd /tmp/x/y
user:/tmp/x/y$ mc
In mc you'll find yourself in /tmp/a/b, though it'd be nicer to see
/tmp/x/y at the top, and correspondingly navigating to the parent would
take you to /tmp/x.
If you start bash or zsh from /tmp/x/y, the new instance will start
displaying the working directory as such. They do this via the PWD env
variable. On one hand, they set and maintain PWD to point to the current
directory, using the path as specified by the user (possibly containing
symbolic links). On the other hand, they check its value at startup. If
$PWD points to the same physical directory as the actual working
directory then they use this value. If $PWD points somewhere else then
it's simply ignored (so it's a hint only as to which symlinks to use to
get to the working directory, but never alters the actual cwd).
Now mc also does the same at startup (with respect of "Cd follows
links" option). Relative directories specified in the command line are
applied after possibly replacing the canonical cwd with $PWD. This way
for example
user:/tmp/x/y$ mc . ..
opens two panels in /tmp/x/y and /tmp/x instead of /tmp/a/b and /tmp/a
(whereas /tmp/x is actually a different directory than /tmp/a).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-12-27 19:07:58 +04:00
Andrew Borodin
bb65b46790
Fix use of uninitialized memory in sigaction structure.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-11-25 13:47:40 +04:00