../../mc/edit/editcmd.c:2519:50: error: field precision should have type 'int', but argument has type 'gsize' (aka 'unsigned long') [-Wformat]
match_expr = g_strdup_printf ("(^|\\s+|\\b)%.*s[^\\s\\.=\\+\\[\\]\\(\\)\\,\\;\\:\\\"\\'\\-\\?\\/\\|\\\\\\{\\}\\*\\&\\^\\%%\\$#@\\!]+", word_len, bufpos);
^ ~~~~~~~~
../../mc/edit/editcmd.c:2700:38: error: field precision should have type 'int', but argument has type 'gsize' (aka 'unsigned long') [-Wformat]
match_expr = g_strdup_printf ("%.*s", word_len, bufpos);
^ ~~~~~~~~
2 diagnostics generated.
make[2]: *** [editcmd.o] Error 1
make[2]: Target `all' not remade because of errors.
../../../mc/src/mcconfig/common.c:71:74: error: format string is not a string literal (potentially insecure) [-Wformat-security]
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, strerror(errno)));
^~~~~~~~~~~~~~~
../../../mc/src/mcconfig/common.c:83:74: error: format string is not a string literal (potentially insecure) [-Wformat-security]
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, strerror(errno)));
^~~~~~~~~~~~~~~
2 diagnostics generated.
make[3]: *** [libmcconfig_la-common.lo] Error 1
make[3]: Target `all' not remade because of errors.
../../mc/src/main.c:2165:41: error: format string is not a string literal (potentially insecure) [-Wformat-security]
message (D_ERROR, _("Warning"), error->message);
^~~~~~~~~~~~~~
1 diagnostic generated.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
In UTF-8 locales, with case sensitive sort files are sorted properly:
00050.jpg
001-gepard.jpg
0175ep.jpg
027.jpg
060912.jpg
win.jpg
z1.jpg
but if in case insensitive sort, they get mixed up
and files with number in their name are sorted badly:
001-gepard.jpg
027.jpg
00050.jpg
0175ep.jpg
060912.jpg
win.jpg
z1.jpg
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Test case:
1. Make two files with same content but with different encodings (for example, in UTF-8 and KOI8-R);
2. Open UTF-8 file for editing. Press Alt+e and set 'UTF-8' encoding;
3. Search someting
4. exit from editor and open file with 'KOI8-R' encoding;
5. You must see a dots. Now press shift+F7 (continue search);
6. Segfault here
Fix issue:
Now function mc_search__recode_str() returns newly allocated string in any case
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
In the function get_compression_type() in src/util.c, only 5 bytes of the
file are read into the magic array, but the test for lzma files checks the
first 6 bytes in the magic array.
Fix issue:
now reads 6 bytes for correct recognize LZMA-files.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Keys sort functions have been maken inline.
Decrease of memory usage: reimplemented
key_name_conv_tab_sorted array as array of pointers
instead of entire copy of key_name_conv_tab array.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Problem: 'Find File' dialog doesn't save an empty "content" filed on exit.
Proposed solution: allow each history (not in content in 'Find File' dialog
only) save an empty value.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Since mc-4.7.0-pre1 was added charset confirmation if charset was changed.
This commit was adds automatic recognize of system charset and fix in current
config. Also, now contig file will untouched if 'Auto save setup' option is switched off.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Ticket #1764:
* fxed shortcuts for select/unselect/reverse selection
of file group;
* removed 'C-x C-c' default shortcut for Quit command.
Also fixed some emacs-like keybindings for editor and viewer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Added two parameters:
* Widget *sender -- to recognize the wiget that have sent message;
* void *data -- to pass any user-defined data to the dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
First step: renamed type of dialog command execution function.
Made execution function more flexible: added parameters for
sender and receiver widgets and user data.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Testase:
* rm -f ~/.mc/Tree
* run mc
* F9 -> Command -> Directory tree
* Press F2
* Go to '/lib' item
* Press F2
* exit from mc
* run mc again
* F9 -> Command -> Directory tree
* press HOME key
Fix issue:
changed forgotten variable name.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
After implementation of keybinding engine and reimplenetation
of menu engine, MC starts very slow due to multiple trivial
(totally non optimized) search of many values in many arrays.
This patch performes the some speedup of MC startup process.
Statistics:
- startup time without the patch: 0m0.413s
- startup time with the patch: 0m0.073s
Great thanks to 0xe2.0x9a.0x9b for the original patch.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
fixed segfault in backward_word (widget.c)
...
The for loop, whose purpose is to remove exactly 1 character
(hence I don't get why it's a loop, but nevermind) was not UTF8-ready.
So if the character preceding the cursor was an accented one,
it jumped to the middle of the UTF-8 sequence, causing the rest of
the stuff go unpredictable.
Although it *should* never happen (which, as we all know,
does not equal to "never happens"), in this case "p" simply jumped
over "in->buffer". The function has a "p != in->buffer" check three times,
it might it more robust if you replaced that with "p >= in->buffer".
This should prevent the segfault, and just stay with a slightly buggy but
otherwise harmless alt-backspace behavior, should there be any UTF-8 or
similar bugs left. This change is not included in my patch.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
If ~/.mc/panels.ini have incorrect value of 'sort_order' key, then mc will crashed.
Fix issue: Now default sort_order for incorrect value is 'name' (sort by name)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>