Commit Graph

112 Commits

Author SHA1 Message Date
Andrew Borodin
a9ff27db05 (check_for_default): minor optimization and change return value.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-04-22 11:25:11 +03:00
Slava Zanko
db58cd9ca7 Changed internal editor to use vfs_path_t objects.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:30 +03:00
Slava Zanko
c58365fa64 Move check_for_default() function from lib/util.c to src/util.c
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-03-21 23:55:51 +02:00
Slava Zanko
99abd3ab9a Moved src/util.[ch] into lib, also moved unixcompat.h and utilunix.c.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-26 10:30:23 +02:00
Slava Zanko
dbaff2b6f6 Reorganization of sources. Part 2
* moved src/fileloc.h into lib/fileloc.h
 * moved src/timefmt.h into lib/timefmt.h
 * removed unneedded includes into src/util.c

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-26 10:30:23 +02:00
Slava Zanko
93dbc46e9c Reorganization of sources. Part 1.
* moved src/global.h into lib/global.h
 * moved glibcompat.[ch] from ./src/ into ./lib/
 * moved fs.h from ./src/ into ./lib/

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-26 10:30:23 +02:00
Ilia Maslakov
b1de9bbd80 Little refactoring of load_file_position, save_file_position (added new param 'offset')
Now viewer save/load only 'offset' and 'line' always = -1.
Changed editor edit_load_position, edit_save_position,
now if 'line' = -1 then used 'offset'

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2010-01-19 19:15:28 +00:00
Slava Zanko
4f36622725 Ticket #1828: Improved symlink handling in ftpfs
Originally from: http://mail.gnome.org/archives/mc-devel/2005-April/msg00035.html

The routines `vfs_s_find_entry_linear()' and `vfs_s_find_entry_tree()'
call `canonicalize_pathname()' on entry. This routine eats `..' path
components in certain cases. In case of ftpfs this is not desired -
the path should be kept as is since the code in direntry.c doesn't have
enough knowledge of the directory structure on the remote end.

Assume that
there is a path like this on the remote server

    /path1/path2/path3

The `path2' component is a symlink to some directory and `path3' is a
symlink stored in `path2' which is relative to `path2' i.e.

path2

    path3 -> ../some/other/path

Now, the code in direntry.c will determine that `path3' is a symlink and
will try to resolve (vfs_s_resolve_symlink) it by passing the following path

    /path1/path2/../some/other/path

to `vfs_s_find_entry_linear' . As I've said above this routine calls
`canonicalize_pathname' on entry which will modify the path like this:

    /path1/some/other/path

Now this is clearly wrong since `path2' is a symlink and it should be
resolved first. In the case of ftpfs the code in direntry.c doesn't have
enough knowledge about physycal directory layout on the remote filesystem
so it shouldn't try to canonicalize the path. The path should be left as
is and passed to the remote end for processing.

Fix issue:
Changed function canonicalize_pathname (as fact, renamed to custom_canonicalize_pathname)
In this function added ability to partial canonicalize of pathname.
And some functions from vfs/direntry.c calls custom_canonicalize_pathname without
removal of '..' stuff.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-12-25 15:53:48 +02:00
Slava Zanko
e3702891ae Ticket #1617: Fixed saving filepos file
Restored old behaviour with some new improvements.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-26 11:40:00 +02:00
Slava Zanko
14be06d050 Reorganize work with files. Fixed permissions of files in mc home dir. All file names now accumulated into src/fileloc.h
* Added common functions for work with backups of main config files.
 * Fixed permissions of ~/.mc/ini;
 * Fixed permissions of ~/.mc/filepos
 * Fixed permissions of ~/.mc/hotlist
 * Fixed permissions of ~/.mc/Tree
 * Fixed ownership for ~/.mc/hotlist file
 * Changed definitions of config files. Now used constants from src/fileloc.h

Also, added ability for change mc user home dir. Just type:
{{{
make CFLAGS='-DMC_USERCONF_DIR=\".mc2\"'
}}}

And you will have different config files (very usefull for testing or development).

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-10-07 12:01:05 +03:00
Slava Zanko
bd95f71a6b Some little bugfixies for xz and lzma archives:
* Increase number of reading butes by one for better analyzation of compression type.
* Add recognize lzma archive by extention.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-16 02:05:06 +03:00
Andrew Borodin
f559aeb6b9 Ticket #59: display file size in full precision.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-07 15:34:41 +04:00
Andrew Borodin
ea0cb38b9e Initial step to split NCurses- and SLang-based TTY layers. 2009-08-12 21:19:20 +04:00
Enrico Weigelt, metux IT service
c7d04dd47a fixed several missing #include's 2009-06-18 21:02:29 +04:00
Sergei Trofimovich
f5dce266fe Merge commit 'origin/340_inrorrect_handling_of_wildcards'
* commit 'origin/340_inrorrect_handling_of_wildcards': (21 commits)
  Fixed work with copying/moving files by mask into subdirs
  Fixed bug with copying files/dirs into directory with 'wild' name (such as ${}, \1, etc.)
  Fixed patterns escaping of wild filenames (such as \1, ${1}, \U, etc).
  Removed unused debug code from src/filegui.c
  Refactoring: renamed variable 'loop' into 'curr_index'
  Changed defined constants to static const char[] declarations.
  Fixed declarations of functions. May be, need to split with previous commmit...
  Reworked functions strutils_shell_escape and strutils_shell_unescape
  Renamed functions shell_escape (to strutils_shell_escape) and shell_unescape (to strutils_shell_unescape)
  Just identation of some source files
  Renamed function shell_is_char_escaped to strutils_is_char_escaped; removed function mc_search_is_char_escaped
  Moved 'escape' and 'unescape' strings functions from src/util.[ch] into src/strescape.[ch]
  Fixed crash if replace group ${N} used into replace string
  Some cosmetic optimisation for less code :)
  Fixed searched token in source file mask.
  Fixed NULL acertion if replacement don't correct
  Handle new search replace behaviour into src/file.c. Also fixed filemask into src/filegui.c
  Search Replace now handled \U,\u,\L,\l and \E modificators.
  Just identation of regex.c and search.h
  search engine: Added new syntax for replace tokenks.
  ...
2009-06-12 23:02:44 +03:00
Andrew Borodin
fb48d4a295 Small reorganization of MC and Editor menus.
The 'User Menu' entry is moved from 'File' submenu to 'Command' one.
The 'Edit editor menu file' and 'Edit syntax file' entries are moved
from main MC menu ('Command' submenu) to editor main menu ('Options'
submenu) and renamed.

src/cmd.c (check_for_default): moved to util.c and maken global.
(menu_edit_cmd): rewritten to handle MC menu files only and renamed
to edit_mc_menu_cmd.
Editor relevant routines are moved to editor code.

src/cmd.h: cleanup.

src/main.c: main menu reorganization.

src/user.h: moved editor macros to edit/edit.h.

src/util.c, src/util.h: check_for_default function from src/cmd.h.
Rewritten to use exist_file() function.

edit/editcmddef.h: added new commands:
CK_Load_Syntax_File and CK_Load_Menu_File.

edit/edit.h: editor file macros from src/user.h.
New type for file which is currently being edited.
Modified edit_load_cmd function to be more advanced.

edit/edit.c (edit_execute_cmd): handle new commands:
CK_Load_Syntax_File and CK_Load_Menu_File.

edit/editmenu.c: menu reorganization: moved two entries here from main
MC menu. Added requireq handle functions. Small optimization: removed
extra layer in menu entry handlers.

edit/editcmd.c: menu and syntax files edit is implemented.
Modified edit_load_cmd function to be more advanced.
2009-06-12 16:12:10 +04:00
Slava Zanko
5f810602e0 Moved 'escape' and 'unescape' strings functions from src/util.[ch] into src/strescape.[ch]
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-06-12 10:31:59 +03:00
Slava Zanko
a70255f643 Changed all source files for use new config module 2009-06-01 10:55:35 +03:00
Sergei Trofimovich
fd55b916de Revert "Replace self-made code for work with ini-files to glib native code"
This reverts commit 4648ad8bf9.
2009-05-19 10:22:24 +03:00
Slava Zanko
4648ad8bf9 Replace self-made code for work with ini-files to glib native code 2009-05-14 16:21:22 +03:00
xgizzmo
24ca27fe30 Added XZ compression support. Signed-off-by: xgizzmo <xgizzmo@slackbuilds.org>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-05-13 11:35:22 +03:00
Mikhail S. Pobolovets
31332a2f00 src/utils.[ch]: _icase_search clean up
_icase_search and icase_search stuff has been removed,
    because it's not used for now (it is also buggy)

Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
2009-05-11 11:40:33 +03:00
Slava Zanko
2ebdf91079 Merge branch 'm-utf-8'
* m-utf-8: (223 commits)
  Fix wildcard pattern in file select and file find dialogs
  Project builds with option --disable-charsets
  Deleted build-glib1.sh because glib1 don't work with utf-8
  fix building without --enable-charset
  Total replacement to mc_search stuff in all places
  Search engine: if found_len parameter NULL, then mc_search_run don't try to fill them
  src/view.c: Reworked search stuff to usage src/search
  refactoring: rename edit/editcmd_dialog.c:editcmd_dialog__get_search_types_list to
  Search engine: development of hex search complete
  Search engine: remove forgotten debug string and reindent file
  Search engine:
  configure.ac: if present glib-2.14 and higher, libpcre don't linked
  Search engine: now used regexp external engines:
  src/find.c: Fixed core dump if content search pattern no present
  edit/editcmd_dialogs.c: fixed state of search type between dialog window calls
  Find files: checkbox 'Regular expression' for content search now default unchecked
  Find files: changes for usage of new search engine:
  Fix copy of current/opposite path to command line: remove charset info from path
  src/Makefile.am: add some header files to Make-tracking
  Fixed editor menu reloading.
2009-05-07 13:01:01 +03:00
Slava Zanko
087ef15b1f Total replacement to mc_search stuff in all places 2009-05-06 19:12:32 +03:00
Mikhail S. Pobolovets
1959b42fdc Merge branch '252_doxygen_desc_src'
Conflicts:

	src/file.h

Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
2009-04-16 08:26:52 +03:00
Mikhail S. Pobolovets
da3b76b8d7 Merge branch '176_lzma' 2009-02-21 12:23:50 +02:00
Mikhail S. Pobolovets
758ab591d8 Simple doxygen description for files in src directory.
Mostly \file and \brief tag added.

Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
2009-02-10 16:07:59 +02:00
Sergei Trofimovich
96fc77bc3e fixed canonicalize_pathname() breakage: fixed str_move() function (memmove semantics) again
This patch reintroduces fix firstly appeared in (and recently broken by mhl revert)
>   commit e48cb7c89f
>   Author: Sergei Trofimovich <st@anti-virus.by>
>   Date:   Fri Jan 30 09:31:28 2009 +0200
>
>        mhl: added mhl_strmove() function (memmove semantics)
...
>            Snippet of man strcpy:
>       DESCRIPTION
>               The  strcpy()  function copies the string pointed to by src, including the terminating
>               null byte ('\0'), to the buffer pointed to by dest.  ___The strings may not overlap___,
>               and the destination string dest must be  large enough to receive the copy.
>       We used strcpy to move data chunk in memory: "./foo" -> "foo", etc.
>
>       This patch introduces mhl_strmove and fixed canonicalize_pathname.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-07 16:10:33 +02:00
Patrick Winnertz
161164c556 Reworked shell_unescape function in order to make use of glib.
This commit will replace some *ptr = c; stuff with g_string_append_c(str,c);
in order to use glib here.

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-06 14:50:22 +01:00
Slava Zanko
e54f318cef Completely removed MHL stuff
Changed all source files relative to remove MHL

Some string-related functions moved into src/util.c

This stable fix.
2009-02-06 14:01:28 +02:00
Patrick Winnertz
3b8f37b99e Moved some functions out of mhl into src/util.c
This commit moves the mhl_str_concat_dir_and_file back into src/util.c whitout changing atm the functionality.

Please note that this is an incomplete fix and needs to be partially enhanced in order to keep the full functionality with glib.

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-06 11:17:03 +01:00
Enrico Weigelt, metux IT service
a5ba278729 merged in lzma patch from mandriva 2009-02-04 21:16:00 +01:00
Sergei Trofimovich
6b6d4a222d cleanup: moved int to size_t
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-01 22:44:44 +02:00
Enrico Weigelt, metux IT service
54d6ec88dc replaced buggy concat_dir_and_file() by mhl_str_dir_plus_file() 2009-01-31 16:51:58 +01:00
Roland Illig
f7f06c0202 * util.h (str_unconst): This function is never needed to be
inlined.
2006-02-03 17:04:17 +00:00
Pavel Roskin
7b3b03f9db * glibcompat.c: Move Q_ back ...
* util.c: ... here.  Q_ is not defined by just including glib.h.
The glib implementation doesn't strip prefix from translations,
so it's not suitable for us.  Finally, it makes man2hlp depend
on libintl.
Reported by Leonard den Ottolander <leonard@den.ottolander.nl>
2005-11-03 02:18:38 +00:00
Pavel Roskin
01f571f1d2 * util.c (gettext_ui): Rename to Q_() for glib compatibility,
move ...
* glibcompat.c: ... here.  Adjust all callers.
2005-10-04 15:20:10 +00:00
Roland Illig
4df8fde197 * util.h: Added get_config_string() and set_config_string(),
which are analogous to get_int() and set_int().
	* util.c: Likewise.
2005-09-07 08:47:22 +00:00
Roland Illig
3abff48000 * util.c: Added gettext_ui(), which translates a string and
strips everything before the first '|' character. This function
	is used to translate special elements of the user interface,
	like ButtonBar labels.
	* util.h: Likewise.
	* view.c: Using the new gettext_ui() function.
2005-07-20 15:39:47 +00:00
Roland Illig
6d3226c4e7 * util.c: Added ascii_alpha_to_cntrl(), which converts 'x' to
^X. Useful for entering control characters literally.
	* util.h: Likewise.
	* widget.c: Use that function after C-q.
2005-07-18 09:31:37 +00:00
Roland Illig
ecfbe13fa3 AC_CHECK_TYPES([mode_t off_t pid_t socklen_t uid_t nlink_t],,, 2005-07-14 06:31:29 +00:00
Roland Illig
db1e5ef53c Added an "inline" specifier to str_unconst_inlined. 2005-07-05 20:50:02 +00:00
Roland Illig
c4c1c12432 * util.h (free_after): Moved to vfs/smbfs.c, as this is the only
place where it is used. This is necessary because the SunPro
	compiler creates external references even for functions that are
	only referred to in unused inline functions.
2005-06-08 00:23:44 +00:00
Roland Illig
caaf0730b6 * util.h: Added const-preserving version of strstr().
* util.c: Likewise.
2005-05-23 11:21:26 +00:00
Roland Illig
14a8919772 * util.h (str_unconst): Added a conditional INLINE_STR_UNCONST
that makes str_unconst() an inline function.
2005-04-14 18:16:04 +00:00
Roland Illig
a3a1e26210 * util.h (str_unconst): Provide a replacement for the const_cast
macro from global.h.
	* util.c (str_unconst): Likewise.
2005-04-13 18:47:12 +00:00
Roland Illig
f629c91ded * util.h: Added macro str_cmp to allow syntactically nice string
comparison.
2005-02-08 10:46:01 +00:00
Roland Illig
3a40734373 * util.h (msglen): Converted from a function to a procedure.
* util.c (msglen): Changed variable names and did a speedup.
	* hotlist.c (add_new_entry_input): Using new msglen function.
	* hotlist.c (add_new_group_input): Likewise.
	* wtools.c (query_dialog): Likewise.
	* wtools.c (fg_input_dialog_help): Likewise.
2005-02-05 13:03:11 +00:00
Andrew V. Samoilov
d332606fd5 * subshell.c (do_subshell_chdir): Use mc_realpath() to fix tcsh's
problem with symlink.
        * utilunix.c: Add function mc_realpath(). Is the BSD version of
        realpath(3).
        * util.h: Add mc_realpath() declaration.
2005-01-13 19:37:46 +00:00
Roland Illig
e792cffb8d * *.h: Renamed multiple inclusion guards that started with a
double underscore. Added #includes for dependent files.
	* popt.c: Likewise.
	* popthelp.c: Likewise.
	* tree.c: Moved a macro from tree.h to here, as it is useless
	outside tree.c.
2004-12-03 19:17:46 +00:00