diff --git a/doc/man/ru/mc.1.in b/doc/man/ru/mc.1.in index 14a4f110f..badde230e 100644 --- a/doc/man/ru/mc.1.in +++ b/doc/man/ru/mc.1.in @@ -284,7 +284,7 @@ S\-<символ> означает, что нужно держать в нажа Все строки ввода в Midnight Commander по умолчанию поддерживают соглашения об использовании "горячих" клавиш, принятые в редакторе GNU Emacs. .PP -Вы можете переопределить клавиатурные привязки "горячих" клавищ к командам, +Вы можете переопределить клавиатурные привязки "горячих" клавиш к командам, как это описано в разделе .\"LINK2" .I переопределение клавиатурных команд @@ -1025,7 +1025,7 @@ half name | size:7 | type mode:3 предназначена для ввода регулярного выражения (маски) для выбора файлов. Если включена опция .IR "Только файлы" , -то фильтроваться будут только файлы, а все каталоги будут отбражаться +то фильтроваться будут только файлы, а все каталоги будут отображаться независимо от того, соответствуют они фильтру или нет. В противном случае фильтроваться будут как файлы, так и каталоги. Если включена опция .IR "Образцы в стиле shell" , @@ -1333,7 +1333,7 @@ Midnight Commander за счет добавления в личное меню .PP По команде .I "Отключить панели" -показывается вывод последней из выполнявшихся команд облочки. Эта команда +показывается вывод последней из выполнявшихся команд оболочки. Эта команда работает только через xterm и на консоли Linux и FreeBSD. "Горячие" клавиши \- .BR C\-o . .PP @@ -1407,7 +1407,7 @@ Midnight Commander за счет добавления в личное меню .I "Список экранов" .\"Screen selector" отображает диалоговое окно со списком одновременно работающих в данный -момент встроенноых редакторов, программ просмотра и других модулей MC, +момент встроенных редакторов, программ просмотра и других модулей MC, поддерживающих такой режим работы. .PP После выбора пункта меню @@ -1477,7 +1477,7 @@ Midnight Commander создаёт дерево путем просмотра т режимами перемещения по дереву. .TP В статическом режиме перемещения для выбора каталога (то есть перемещения -подсветки на имя другого каталога) используются только коавиши +подсветки на имя другого каталога) используются только клавиши .BR Up/Down . Показываются все известные программе на данный момент подкаталоги. .TP @@ -1486,7 +1486,7 @@ Midnight Commander создаёт дерево путем просмотра т используются для перехода на соседний каталог того же уровня. Для перехода в родительский каталог используется клавиша .BR Left , -а по коавише +а по клавише .B Right происходит переход к потомкам текущего каталога, то есть на один уровень ниже. При этом отображаются только вышележащие каталоги (включая @@ -1982,7 +1982,7 @@ mc на экране. для использования однократного нажатия на клавишу Esc. По умолчанию этот интервал равен 1 секунде (1000000 микросекунд). Кроме того, этот интервал может быть установлен через переменную окружения KEYBOARD_KEY_TIMEOUT_US -(также в микросекундах), которая имеет приоритет над над значеним этой +(также в микросекундах), которая имеет приоритет над над значением этой опции. .PP .B Пауза после исполнения @@ -2137,7 +2137,7 @@ Commander. Параметры, задаваемые в этом окне, дел Alt\-, (Alt\-запятая). .PP .IR "Равные размеры" . -По умолчанию панели имеют равные разменры. Эта опция позволяет изменить их. +По умолчанию панели имеют равные размеры. Эта опция позволяет изменить их. .PP .BR "Консольный вывод" . .PP @@ -2232,7 +2232,7 @@ Commander будет использовать для вывода содержи .PP .IR "Автосохранение настроек панелей" . Если опция включена (по умолчанию она выключена), то при выходе из -Midnight Commander'а текущие настройки панелей соханяются в файле +Midnight Commander'а текущие настройки панелей сохраняются в файле ~/.config/mc/panels.ini. .PP .B Навигация @@ -2305,12 +2305,12 @@ Commander, выделены цветом, определённым ключев .SH " Подтверждения" Используя это диалоговое окно, вы можете сделать так, чтобы перед выполнением операций удаления, перезаписи файла, запуска файла на выполнение, -перед выходом из программы MC, перед удаленим каталога из каталогов быстрого +перед выходом из программы MC, перед удалением каталога из каталогов быстрого доступа, а также перед очисткой истории выдавался дополнительный запрос на подтверждение. .\"NODE " Appearance" .SH " Оформление" -Используя это диалоговое окно, вы можете выбрать скин и разрещить отрисовку +Используя это диалоговое окно, вы можете выбрать скин и разрешить отрисовку теней у диалоговых окон и выпадающих меню. .PP Для получения более подробной информации о скинах обратитесь к разделу @@ -2787,7 +2787,7 @@ subshell, в файле одну из экранных кнопок): .TP .B [Отметить всё] -отмеченные атрибуты (и только они) будут установлены в соотвтествии +отмеченные атрибуты (и только они) будут установлены в соответствии с состоянием кнопок-флажков, причём для всех выбранных (помеченных) файлов. Если атрибут не был отмечен, его значение для выбранных файлов не изменяется. .TP @@ -2879,7 +2879,7 @@ chattr \- команде изменения атрибутов файлов и одну из экранных кнопок): .TP .B [Отметить всё] -отмеченные атрибуты (и только они) будут установлены в соотвтествии +отмеченные атрибуты (и только они) будут установлены в соответствии с состоянием кнопок-флажков, причём для всех выбранных (помеченных) файлов. Если атрибут не был отмечен, его значение для выбранных файлов не изменяется. .TP @@ -3172,7 +3172,7 @@ mcdiff \- это встроенное средство для сравнения Редактирование файла в правой панели. .TP .B F5 -Произвести слияние текушего изменения. +Произвести слияние текущего изменения. .TP .B F7 Вызов диалогового окна для задания шаблона поиска. @@ -3499,11 +3499,11 @@ Midnight Commander поддерживает возможность одновр экраном. .PP Есть три способа переключения между экранами: -переходк к следующему экрану в списке клавиатурной комбинацией +переход к следующему экрану в списке клавиатурной комбинацией .BR Alt\-} , -переходк к предыдущему экрану в списке клавиатурной комбинацией +переход к предыдущему экрану в списке клавиатурной комбинацией .BR Alt\-{ , -вызов дилогового окна со списком экранов клавиатурной комбинацией +вызов диалогового окна со списком экранов клавиатурной комбинацией .B Alt\-` или с помощью пункта меню. Все эти комбинации клавиш одинаковы во всех экранах. @@ -3755,7 +3755,7 @@ bash\-совместимая оболочка shell. .nf 'C' \- использовать сжатие; 'r' \- использовать rsh вместо ssh; - port \- использовать данный порт для поключения к удалённому компьютеру. + port \- использовать данный порт для подключения к удалённому компьютеру. .fi .PP Если задан элемент @@ -3793,7 +3793,7 @@ bash\-совместимая оболочка shell. этим именем, в противном случае \- под тем именем, с которым вы зарегистрированы в локальной системе. Если задан .I port -то он будет использован для поключения к удалённому компьютеру. +то он будет использован для подключения к удалённому компьютеру. Если задан элемент .IR remote\-dir , то указанный каталог станет текущим после соединения с удалённым компьютером. @@ -3853,7 +3853,7 @@ SCSI\-диска, нужно использовать следующее имя: Внешняя файловая система позволяет очень просто интегрировать новые файловые контейнера и типы файлов простым написанием скриптов. .PP -Файловая система Extfs подраздляется на две категории: +Файловая система Extfs подразделяется на две категории: .PP 1. Автономные файловые системы, которые не ассоциированы ни с одним из типов файлов.они представляют некоторые системные данные как дерево каталогов @@ -4170,7 +4170,7 @@ menuhotsel=yellow;black;bold+underline .\"Skins sections" .br .\"LINK2" -Опеределения цветовых пар +Определения цветовых пар .\"Skins colors" .br .\"LINK2" @@ -4224,7 +4224,7 @@ menuhotsel=yellow;black;bold+underline курсор на отмеченных данных .TP .I gauge -цвет заполненной части индиктора прогресса +цвет заполненной части индикатора прогресса .TP .I input элемент ввода данных @@ -4375,7 +4375,7 @@ menuhotsel=yellow;black;bold+underline .\"NODE " Skins aliases" .SH " Псевдонимы цветов и атрибутов" -Эта необязательная секция содержит опреления псевдонимов цветов (не цветовых пар) +Эта необязательная секция содержит определения псевдонимов цветов (не цветовых пар) и атрибутов. Псевдоним представляет собой части определения параметров скина. В определение псевдонима может использоваться другой псевдоним, но при этом не должны образовываться циклические ссылки. @@ -4480,11 +4480,11 @@ menuhotsel=yellow;black;bold+underline Регулярное выражение. Если присутствует, параметр 'extensions' игнорируется. .TP .I extensions -Список расширений файлов. Раасширения разделяются символом ';'. +Список расширений файлов. Расширения разделяются символом ';'. .TP .I extensions_case (имеет смысл только с параметром 'extensions') делает правило 'extensions' -чувствительным к регистру букв (true) или не чувтсвительным (false). +чувствительным к регистру букв (true) или не чувствительным (false). .PP Параметр 'type' (тип файла) может принимать значения: .nf @@ -4697,11 +4697,11 @@ Midnight Commander позволяет задать некоторые парам MC надеется, что она имеет собственную функцию открытия файла в том же самом месте, где он был закрыт в предыдущий раз. Такую функцию имеет, например, редактор "joe" и многие другие. MC не препятствует внешней программе редактирования или просмотра -самостоятельно сохранять и восстановливать позиции в открываемых файлах. +самостоятельно сохранять и восстанавливать позиции в открываемых файлах. .\"NODE "Terminal databases" .SH "Базы терминалов" Midnight Commander обеспечивает возможность внесения исправлений в -системную базу терминалов, даже если вы не обладаёте правами +системную базу терминалов, даже если вы не обладаете правами суперпользователя. Midnight Commander ищет в системном инициализационном файле (файл .B mc.lib diff --git a/lib/Makefile.am b/lib/Makefile.am index 95e4bbf05..00f489a9d 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -32,6 +32,7 @@ SRC_mc_utils = \ libmc_la_SOURCES = \ $(SUBLIB_includes) \ $(SRC_mc_utils) \ + file-entry.h \ fileloc.h \ fs.h \ hook.c hook.h \ diff --git a/lib/charsets.c b/lib/charsets.c index ab7245ad3..eb507ac15 100644 --- a/lib/charsets.c +++ b/lib/charsets.c @@ -58,8 +58,11 @@ const char *cp_source = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -78,10 +81,9 @@ new_codepage_desc (const char *id, const char *name) /* --------------------------------------------------------------------------------------------- */ static void -free_codepage_desc (gpointer data, gpointer user_data) +free_codepage_desc (gpointer data) { codepage_desc *desc = (codepage_desc *) data; - (void) user_data; g_free (desc->id); g_free (desc->name); @@ -216,7 +218,7 @@ load_codepages_list (void) /* files are not found, add default codepage */ fprintf (stderr, "%s\n", _("Warning: cannot load codepages list")); - codepages = g_ptr_array_new (); + codepages = g_ptr_array_new_with_free_func (free_codepage_desc); g_ptr_array_add (codepages, new_codepage_desc (DEFAULT_CHARSET, _("7-bit ASCII"))); } } @@ -226,7 +228,6 @@ load_codepages_list (void) void free_codepages_list (void) { - g_ptr_array_foreach (codepages, free_codepage_desc, NULL); g_ptr_array_free (codepages, TRUE); /* NULL-ize pointer to make unit tests happy */ codepages = NULL; diff --git a/lib/event/manage.c b/lib/event/manage.c index d4e308fa0..b8f973386 100644 --- a/lib/event/manage.c +++ b/lib/event/manage.c @@ -38,24 +38,20 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ static void mc_event_group_destroy_value (gpointer data) { - GPtrArray *callbacks; - - callbacks = (GPtrArray *) data; - g_ptr_array_foreach (callbacks, (GFunc) g_free, NULL); - g_ptr_array_free (callbacks, TRUE); + g_ptr_array_free ((GPtrArray *) data, TRUE); } -/* --------------------------------------------------------------------------------------------- */ - - /* --------------------------------------------------------------------------------------------- */ /*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -64,7 +60,6 @@ gboolean mc_event_add (const gchar * event_group_name, const gchar * event_name, mc_event_callback_func_t event_callback, gpointer event_init_data, GError ** mcerror) { - GTree *event_group; GPtrArray *callbacks; mc_event_callback_t *cb; @@ -120,12 +115,8 @@ mc_event_del (const gchar * event_group_name, const gchar * event_name, return; cb = mc_event_is_callback_in_array (callbacks, event_callback, event_init_data); - - if (cb == NULL) - return; - - g_ptr_array_remove (callbacks, (gpointer) cb); - g_free ((gpointer) cb); + if (cb != NULL) + g_ptr_array_remove (callbacks, (gpointer) cb); } /* --------------------------------------------------------------------------------------------- */ @@ -194,7 +185,7 @@ mc_event_get_event_by_name (GTree * event_group, const gchar * event_name, gbool callbacks = (GPtrArray *) g_tree_lookup (event_group, (gconstpointer) event_name); if (callbacks == NULL && create_new) { - callbacks = g_ptr_array_new (); + callbacks = g_ptr_array_new_with_free_func (g_free); if (callbacks == NULL) { mc_propagate_error (mcerror, 0, _("Unable to create event '%s'!"), event_name); diff --git a/lib/file-entry.h b/lib/file-entry.h new file mode 100644 index 000000000..d758e646e --- /dev/null +++ b/lib/file-entry.h @@ -0,0 +1,49 @@ +/** \file lib/file-entry.h + * \brief Header: file entry definition + */ + +#ifndef MC__ILE_ENTRY_H +#define MC__ILE_ENTRY_H + +#include +#include + +#include "lib/global.h" /* include */ + +/*** typedefs(not structures) and defined constants **********************************************/ + +/*** enums ***************************************************************************************/ + +/*** structures declarations (and typedefs of structures)*****************************************/ + +/* keys are set only during sorting */ +typedef struct +{ + /* File name */ + GString *fname; + /* File attributes */ + struct stat st; + /* Key used for comparing names */ + char *sort_key; + /* Key used for comparing extensions */ + char *second_sort_key; + + /* Flags */ + struct + { + unsigned int marked:1; /* File marked in pane window */ + unsigned int link_to_dir:1; /* If this is a link, does it point to directory? */ + unsigned int stale_link:1; /* If this is a symlink and points to Charon's land */ + unsigned int dir_size_computed:1; /* Size of directory was computed with dirsizes_cmd */ + } f; +} file_entry_t; + +/*** global variables defined in .c file *********************************************************/ + +/*** declarations of public functions ************************************************************/ + +/* --------------------------------------------------------------------------------------------- */ +/*** inline functions ****************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ + +#endif /* MC__FILE_ENTRY_H */ diff --git a/lib/filehighlight.h b/lib/filehighlight.h index 2a5c72a73..fd2c976a7 100644 --- a/lib/filehighlight.h +++ b/lib/filehighlight.h @@ -2,7 +2,7 @@ #define MC__FILEHIGHLIGHT_H #include "lib/mcconfig.h" /* mc_config_t */ -#include "lib/util.h" /* file_entry_t */ +#include "lib/file-entry.h" /*** typedefs(not structures) and defined constants **********************************************/ diff --git a/lib/filehighlight/common.c b/lib/filehighlight/common.c index 648dc6334..d5197446d 100644 --- a/lib/filehighlight/common.c +++ b/lib/filehighlight/common.c @@ -27,7 +27,10 @@ #include #include "lib/global.h" +#include "lib/util.h" /* MC_PTR_FREE */ + #include "lib/filehighlight.h" + #include "internal.h" /*** global variables ****************************************************************************/ @@ -38,10 +41,16 @@ /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ -static void -mc_fhl_filter_free (void *data) +/* --------------------------------------------------------------------------------------------- */ +/*** public functions ****************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ + +void +mc_fhl_filter_free (gpointer data) { mc_fhl_filter_t *filter = (mc_fhl_filter_t *) data; @@ -58,13 +67,11 @@ mc_fhl_array_free (mc_fhl_t * fhl) { if (fhl->filters != NULL) { - g_ptr_array_foreach (fhl->filters, (GFunc) mc_fhl_filter_free, NULL); - fhl->filters = (GPtrArray *) g_ptr_array_free (fhl->filters, TRUE); + g_ptr_array_free (fhl->filters, TRUE); + fhl->filters = NULL; } } -/* --------------------------------------------------------------------------------------------- */ -/*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ mc_fhl_t * diff --git a/lib/filehighlight/get-color.c b/lib/filehighlight/get-color.c index e97bec825..5fb17f68a 100644 --- a/lib/filehighlight/get-color.c +++ b/lib/filehighlight/get-color.c @@ -39,10 +39,12 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ - /* --------------------------------------------------------------------------------------------- */ /*inline functions */ @@ -55,12 +57,16 @@ mc_fhl_is_file (const file_entry_t * fe) return S_ISREG (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_file_exec (const file_entry_t * fe) { return is_exe (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_dir (const file_entry_t * fe) { @@ -70,6 +76,8 @@ mc_fhl_is_dir (const file_entry_t * fe) return S_ISDIR (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_link (const file_entry_t * fe) { @@ -79,24 +87,32 @@ mc_fhl_is_link (const file_entry_t * fe) return S_ISLNK (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_hlink (const file_entry_t * fe) { return (fe->st.st_nlink > 1); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_link_to_dir (const file_entry_t * fe) { return mc_fhl_is_link (fe) && fe->f.link_to_dir; } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_stale_link (const file_entry_t * fe) { return mc_fhl_is_link (fe) ? fe->f.stale_link : !mc_fhl_is_file (fe); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_device_char (const file_entry_t * fe) { @@ -106,6 +122,8 @@ mc_fhl_is_device_char (const file_entry_t * fe) return S_ISCHR (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_device_block (const file_entry_t * fe) { @@ -115,6 +133,8 @@ mc_fhl_is_device_block (const file_entry_t * fe) return S_ISBLK (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_special_socket (const file_entry_t * fe) { @@ -124,6 +144,8 @@ mc_fhl_is_special_socket (const file_entry_t * fe) return S_ISSOCK (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_special_fifo (const file_entry_t * fe) { @@ -133,6 +155,8 @@ mc_fhl_is_special_fifo (const file_entry_t * fe) return S_ISFIFO (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_special_door (const file_entry_t * fe) { @@ -142,6 +166,8 @@ mc_fhl_is_special_door (const file_entry_t * fe) return S_ISDOOR (fe->st.st_mode); } +/* --------------------------------------------------------------------------------------------- */ + inline static gboolean mc_fhl_is_special (const file_entry_t * fe) { @@ -246,8 +272,6 @@ mc_fhl_get_color_regexp (const mc_fhl_filter_t * mc_filter, const mc_fhl_t * fhl return -1; } -/* --------------------------------------------------------------------------------------------- */ - /* --------------------------------------------------------------------------------------------- */ /*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/filehighlight/ini-file-read.c b/lib/filehighlight/ini-file-read.c index bd3e93659..bf12b9b73 100644 --- a/lib/filehighlight/ini-file-read.c +++ b/lib/filehighlight/ini-file-read.c @@ -32,6 +32,7 @@ #include "lib/strescape.h" #include "lib/skin.h" #include "lib/util.h" /* exist_file() */ + #include "lib/filehighlight.h" #include "internal.h" @@ -42,8 +43,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -51,6 +55,7 @@ static void mc_fhl_parse_fill_color_info (mc_fhl_filter_t * mc_filter, mc_fhl_t * fhl, const gchar * group_name) { (void) fhl; + mc_filter->color_pair_index = mc_skin_color_get ("filehighlight", group_name); } @@ -71,8 +76,9 @@ mc_fhl_parse_get_file_type_id (mc_fhl_t * fhl, const gchar * group_name) NULL }; int i; - gchar *param_type = mc_config_get_string (fhl->config, group_name, "type", ""); + gchar *param_type; + param_type = mc_config_get_string (fhl->config, group_name, "type", ""); if (*param_type == '\0') { g_free (param_type); @@ -80,11 +86,11 @@ mc_fhl_parse_get_file_type_id (mc_fhl_t * fhl, const gchar * group_name) } for (i = 0; types[i] != NULL; i++) - { if (strcmp (types[i], param_type) == 0) break; - } + g_free (param_type); + if (types[i] == NULL) return FALSE; @@ -94,6 +100,7 @@ mc_fhl_parse_get_file_type_id (mc_fhl_t * fhl, const gchar * group_name) mc_fhl_parse_fill_color_info (mc_filter, fhl, group_name); g_ptr_array_add (fhl->filters, (gpointer) mc_filter); + return TRUE; } @@ -103,8 +110,9 @@ static gboolean mc_fhl_parse_get_regexp (mc_fhl_t * fhl, const gchar * group_name) { mc_fhl_filter_t *mc_filter; - gchar *regexp = mc_config_get_string (fhl->config, group_name, "regexp", ""); + gchar *regexp; + regexp = mc_config_get_string (fhl->config, group_name, "regexp", ""); if (*regexp == '\0') { g_free (regexp); @@ -120,6 +128,7 @@ mc_fhl_parse_get_regexp (mc_fhl_t * fhl, const gchar * group_name) mc_fhl_parse_fill_color_info (mc_filter, fhl, group_name); g_ptr_array_add (fhl->filters, (gpointer) mc_filter); g_free (regexp); + return TRUE; } @@ -151,6 +160,7 @@ mc_fhl_parse_get_extensions (mc_fhl_t * fhl, const gchar * group_name) g_string_append (buf, esc_ext); g_free (esc_ext); } + g_strfreev (exts_orig); g_string_prepend (buf, ".*\\.("); @@ -166,6 +176,7 @@ mc_fhl_parse_get_extensions (mc_fhl_t * fhl, const gchar * group_name) mc_fhl_parse_fill_color_info (mc_filter, fhl, group_name); g_ptr_array_add (fhl->filters, (gpointer) mc_filter); g_string_free (buf, TRUE); + return TRUE; } @@ -183,6 +194,7 @@ mc_fhl_read_ini_file (mc_fhl_t * fhl, const gchar * filename) return mc_config_read_file (fhl->config, filename, TRUE, FALSE); fhl->config = mc_config_init (filename, TRUE); + return (fhl->config != NULL); } @@ -224,7 +236,7 @@ mc_fhl_parse_ini_file (mc_fhl_t * fhl) gboolean ok; mc_fhl_array_free (fhl); - fhl->filters = g_ptr_array_new (); + fhl->filters = g_ptr_array_new_with_free_func (mc_fhl_filter_free); orig_group_names = mc_config_get_groups (fhl->config, NULL); ok = (*orig_group_names != NULL); diff --git a/lib/filehighlight/internal.h b/lib/filehighlight/internal.h index 0d96f9d92..3cf718dab 100644 --- a/lib/filehighlight/internal.h +++ b/lib/filehighlight/internal.h @@ -51,6 +51,7 @@ typedef struct mc_fhl_filter_struct /*** declarations of public functions ************************************************************/ +void mc_fhl_filter_free (gpointer data); void mc_fhl_array_free (mc_fhl_t * fhl); gboolean mc_fhl_init_from_standard_files (mc_fhl_t * fhl); diff --git a/lib/keybind.c b/lib/keybind.c index 1ec978738..96168ba66 100644 --- a/lib/keybind.c +++ b/lib/keybind.c @@ -51,6 +51,8 @@ typedef struct name_keymap_t long val; } name_keymap_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static name_keymap_t command_names[] = { @@ -382,6 +384,7 @@ static name_keymap_t command_names[] = { static const size_t num_command_names = G_N_ELEMENTS (command_names) - 1; /* *INDENT-ON* */ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/lock.c b/lib/lock.c index a0e4246e6..0db7b1786 100644 --- a/lib/lock.c +++ b/lib/lock.c @@ -75,8 +75,11 @@ typedef struct pid_t pid; } lock_s; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ /** \fn static char * lock_build_name (void) diff --git a/lib/logging.c b/lib/logging.c index 0fe801769..6dd0731d9 100644 --- a/lib/logging.c +++ b/lib/logging.c @@ -49,11 +49,14 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static gboolean logging_initialized = FALSE; static gboolean logging_enabled = FALSE; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/mcconfig/common.c b/lib/mcconfig/common.c index 59b95727f..75979be12 100644 --- a/lib/mcconfig/common.c +++ b/lib/mcconfig/common.c @@ -39,6 +39,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/mcconfig/paths.c b/lib/mcconfig/paths.c index 76dc2f94d..10568cde1 100644 --- a/lib/mcconfig/paths.c +++ b/lib/mcconfig/paths.c @@ -42,6 +42,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static gboolean xdg_vars_initialized = FALSE; diff --git a/lib/mcconfig/set.c b/lib/mcconfig/set.c index 7f4608e36..961435fa6 100644 --- a/lib/mcconfig/set.c +++ b/lib/mcconfig/set.c @@ -33,6 +33,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/search/glob.c b/lib/search/glob.c index f938a5fcf..5874abaf0 100644 --- a/lib/search/glob.c +++ b/lib/search/glob.c @@ -39,9 +39,13 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static GString * mc_search__glob_translate_to_regex (const GString * astr) diff --git a/lib/search/hex.c b/lib/search/hex.c index 6ce550483..50af6fb60 100644 --- a/lib/search/hex.c +++ b/lib/search/hex.c @@ -49,9 +49,13 @@ typedef enum /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static GString * mc_search__hex_translate_to_regex (const GString * astr, mc_search_hex_parse_error_t * error_ptr, @@ -127,7 +131,9 @@ mc_search__hex_translate_to_regex (const GString * astr, mc_search_hex_parse_err return buff; } +/* --------------------------------------------------------------------------------------------- */ /*** public functions ****************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ void mc_search__cond_struct_new_init_hex (const char *charset, mc_search_t * lc_mc_search, diff --git a/lib/search/lib.c b/lib/search/lib.c index 64e604299..2c22504f3 100644 --- a/lib/search/lib.c +++ b/lib/search/lib.c @@ -41,11 +41,13 @@ /*** global variables ****************************************************************************/ +/* *INDENT-OFF* */ const char *STR_E_NOTFOUND = N_("Search string not found"); const char *STR_E_UNKNOWN_TYPE = N_("Not implemented yet"); const char *STR_E_RPL_NOT_EQ_TO_FOUND = -N_("Num of replace tokens not equal to num of found tokens"); + N_("Num of replace tokens not equal to num of found tokens"); const char *STR_E_RPL_INVALID_TOKEN = N_("Invalid token number %d"); +/* *INDENT-ON* */ /*** file scope macro definitions ****************************************************************/ @@ -53,6 +55,8 @@ const char *STR_E_RPL_INVALID_TOKEN = N_("Invalid token number %d"); typedef gboolean (*case_conv_fn) (const char *ch, char **out, size_t * remain); +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/search/normal.c b/lib/search/normal.c index 9de868a3e..9042bfcee 100644 --- a/lib/search/normal.c +++ b/lib/search/normal.c @@ -38,6 +38,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/search/regex.c b/lib/search/regex.c index 683d53b05..035f19b75 100644 --- a/lib/search/regex.c +++ b/lib/search/regex.c @@ -57,10 +57,13 @@ typedef enum REPLACE_T_LOW_TRANSFORM = 8 } replace_transform_type_t; +/*** forward declarations (file scope functions) *************************************************/ /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static gboolean mc_search__regex_str_append_if_special (GString * copy_to, const GString * regex_str, diff --git a/lib/search/search.c b/lib/search/search.c index 845dda52a..1393038c9 100644 --- a/lib/search/search.c +++ b/lib/search/search.c @@ -47,6 +47,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const mc_search_type_str_t mc_search__list_types[] = { @@ -57,7 +59,9 @@ static const mc_search_type_str_t mc_search__list_types[] = { {NULL, MC_SEARCH_T_INVALID} }; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static mc_search_cond_t * mc_search__cond_struct_new (mc_search_t * lc_mc_search, const GString * str, const char *charset) @@ -91,8 +95,10 @@ mc_search__cond_struct_new (mc_search_t * lc_mc_search, const GString * str, con /* --------------------------------------------------------------------------------------------- */ static void -mc_search__cond_struct_free (mc_search_cond_t * mc_search_cond) +mc_search__cond_struct_free (gpointer data) { + mc_search_cond_t *mc_search_cond = (mc_search_cond_t *) data; + if (mc_search_cond->upper != NULL) g_string_free (mc_search_cond->upper, TRUE); @@ -112,15 +118,6 @@ mc_search__cond_struct_free (mc_search_cond_t * mc_search_cond) g_free (mc_search_cond); } -/* --------------------------------------------------------------------------------------------- */ - -static void -mc_search__conditions_free (GPtrArray * array) -{ - g_ptr_array_foreach (array, (GFunc) mc_search__cond_struct_free, NULL); - g_ptr_array_free (array, TRUE); -} - /* --------------------------------------------------------------------------------------------- */ /*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -187,7 +184,7 @@ mc_search_free (mc_search_t * lc_mc_search) g_free (lc_mc_search->error_str); if (lc_mc_search->prepared.conditions != NULL) - mc_search__conditions_free (lc_mc_search->prepared.conditions); + g_ptr_array_free (lc_mc_search->prepared.conditions, TRUE); #ifdef SEARCH_TYPE_GLIB if (lc_mc_search->regex_match_info != NULL) @@ -212,7 +209,7 @@ mc_search_prepare (mc_search_t * lc_mc_search) if (lc_mc_search->prepared.conditions != NULL) return lc_mc_search->prepared.result; - ret = g_ptr_array_new (); + ret = g_ptr_array_new_with_free_func (mc_search__cond_struct_free); #ifdef HAVE_CHARSET if (!lc_mc_search->is_all_charsets) g_ptr_array_add (ret, diff --git a/lib/serialize.c b/lib/serialize.c index 9108fee22..1db0a9ce6 100644 --- a/lib/serialize.c +++ b/lib/serialize.c @@ -46,8 +46,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/shell.c b/lib/shell.c index 99a7ff8d5..064617158 100644 --- a/lib/shell.c +++ b/lib/shell.c @@ -37,17 +37,19 @@ #include "global.h" #include "util.h" - /*** global variables ****************************************************************************/ /*** file scope macro definitions ****************************************************************/ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static char rp_shell[PATH_MAX]; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ /** diff --git a/lib/skin/colors-old.c b/lib/skin/colors-old.c index 2b4858e76..628b2aa78 100644 --- a/lib/skin/colors-old.c +++ b/lib/skin/colors-old.c @@ -39,6 +39,8 @@ /*** file scope macro definitions ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope type declarations ****************************************************************/ typedef struct mc_skin_colors_old_struct @@ -104,7 +106,9 @@ static const mc_skin_colors_old_t old_colors[] = { static const size_t num_old_colors = G_N_ELEMENTS (old_colors); +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static int old_color_comparator (const void *p1, const void *p2) diff --git a/lib/skin/colors.c b/lib/skin/colors.c index dea3f8732..87e9442d2 100644 --- a/lib/skin/colors.c +++ b/lib/skin/colors.c @@ -41,9 +41,13 @@ int mc_skin_color__cache[MC_SKIN_COLOR_CACHE_COUNT]; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static mc_skin_color_t * mc_skin_color_get_from_hash (mc_skin_t * mc_skin, const gchar * group, const gchar * key) diff --git a/lib/skin/common.c b/lib/skin/common.c index 51c075382..85790f280 100644 --- a/lib/skin/common.c +++ b/lib/skin/common.c @@ -41,6 +41,8 @@ mc_skin_t mc_skin__default; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static gboolean mc_skin_is_init = FALSE; diff --git a/lib/skin/ini-file.c b/lib/skin/ini-file.c index e2445890a..6d924357a 100644 --- a/lib/skin/ini-file.c +++ b/lib/skin/ini-file.c @@ -40,10 +40,12 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ - /* --------------------------------------------------------------------------------------------- */ static void @@ -133,7 +135,7 @@ mc_skin_list (void) { GPtrArray *list; - list = g_ptr_array_new (); + list = g_ptr_array_new_with_free_func (g_free); mc_skin_get_list_from_dir (mc_config_get_data_path (), list); mc_skin_get_list_from_dir (mc_global.sysconfig_dir, list); mc_skin_get_list_from_dir (mc_global.share_data_dir, list); diff --git a/lib/skin/lines.c b/lib/skin/lines.c index 51001249d..90cc02805 100644 --- a/lib/skin/lines.c +++ b/lib/skin/lines.c @@ -36,9 +36,13 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static int mc_skin_lines_load_frm (mc_skin_t * mc_skin, const char *name) diff --git a/lib/strutil/filevercmp.c b/lib/strutil/filevercmp.c index a0e55fc9a..c0a28ddd3 100644 --- a/lib/strutil/filevercmp.c +++ b/lib/strutil/filevercmp.c @@ -30,6 +30,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/strutil/replace.c b/lib/strutil/replace.c index d89dca478..1246a0103 100644 --- a/lib/strutil/replace.c +++ b/lib/strutil/replace.c @@ -35,6 +35,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/strutil/strescape.c b/lib/strutil/strescape.c index f7c02b03e..a605ad87b 100644 --- a/lib/strutil/strescape.c +++ b/lib/strutil/strescape.c @@ -35,15 +35,21 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const char ESCAPE_SHELL_CHARS[] = " !#$%()&{}[]`?|<>;*\\\"'"; static const char ESCAPE_REGEX_CHARS[] = "^!#$%()&{}[]`?|<>;*+.\\"; static const char ESCAPE_GLOB_CHARS[] = "$*\\?"; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ +/* --------------------------------------------------------------------------------------------- */ /*** public functions ****************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ char * strutils_escape (const char *src, gsize src_len, const char *escaped_chars, @@ -95,6 +101,7 @@ strutils_escape (const char *src, gsize src_len, const char *escaped_chars, } /* --------------------------------------------------------------------------------------------- */ + char * strutils_unescape (const char *src, gsize src_len, const char *unescaped_chars, gboolean unescape_non_printable) diff --git a/lib/strutil/strutil.c b/lib/strutil/strutil.c index d1d1d0a83..d6a8911ff 100644 --- a/lib/strutil/strutil.c +++ b/lib/strutil/strutil.c @@ -44,6 +44,8 @@ GIConv str_cnv_not_convert = INVALID_CONV; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* names, that are used for utf-8 */ diff --git a/lib/strutil/strutil8bit.c b/lib/strutil/strutil8bit.c index 70f4ca030..2002e5e1d 100644 --- a/lib/strutil/strutil8bit.c +++ b/lib/strutil/strutil8bit.c @@ -56,6 +56,8 @@ static inline int char_##func_name(char c) \ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const char replch = '?'; diff --git a/lib/strutil/strutilascii.c b/lib/strutil/strutilascii.c index fa5af0d9f..421bfdb35 100644 --- a/lib/strutil/strutilascii.c +++ b/lib/strutil/strutilascii.c @@ -41,6 +41,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const char replch = '?'; diff --git a/lib/strutil/strutilutf8.c b/lib/strutil/strutilutf8.c index c9c146195..e143abe79 100644 --- a/lib/strutil/strutilutf8.c +++ b/lib/strutil/strutilutf8.c @@ -57,6 +57,8 @@ struct term_form gboolean compose; }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const char replch[] = "\xEF\xBF\xBD"; diff --git a/lib/strutil/xstrtol.c b/lib/strutil/xstrtol.c index 9dc538a17..a0f93ce67 100644 --- a/lib/strutil/xstrtol.c +++ b/lib/strutil/xstrtol.c @@ -39,6 +39,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/timefmt.c b/lib/timefmt.c index d1444ee35..43bd4293b 100644 --- a/lib/timefmt.c +++ b/lib/timefmt.c @@ -53,6 +53,8 @@ char *user_old_timeformat = NULL; /* time format string for older dates */ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* @@ -62,10 +64,12 @@ char *user_old_timeformat = NULL; /* time format string for older dates */ */ static size_t i18n_timelength_cache = MAX_I18NTIMELENGTH + 1; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ +/* --------------------------------------------------------------------------------------------- */ /*** public functions ****************************************************************************/ - /* --------------------------------------------------------------------------------------------- */ /** * Check strftime() results. Some systems (i.e. Solaris) have different diff --git a/lib/tty/color-internal.c b/lib/tty/color-internal.c index 38af97135..8db2b6cd0 100644 --- a/lib/tty/color-internal.c +++ b/lib/tty/color-internal.c @@ -52,6 +52,8 @@ typedef struct mc_tty_color_table_struct int value; } mc_tty_color_table_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static mc_tty_color_table_t const color_table[] = { diff --git a/lib/tty/color-ncurses.c b/lib/tty/color-ncurses.c index fb9ea49e0..f01d697b1 100644 --- a/lib/tty/color-ncurses.c +++ b/lib/tty/color-ncurses.c @@ -48,10 +48,13 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static GHashTable *mc_tty_color_color_pair_attrs = NULL; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/tty/color-slang.c b/lib/tty/color-slang.c index 5069c73c0..5dd26637f 100644 --- a/lib/tty/color-slang.c +++ b/lib/tty/color-slang.c @@ -48,8 +48,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/tty/color.c b/lib/tty/color.c index 0cb1433e2..a9c1ab0dd 100644 --- a/lib/tty/color.c +++ b/lib/tty/color.c @@ -57,10 +57,13 @@ gboolean use_colors = FALSE; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static GHashTable *mc_tty_color__hashtable = NULL; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/tty/key.c b/lib/tty/key.c index 7742d97e3..77ed2c65c 100644 --- a/lib/tty/key.c +++ b/lib/tty/key.c @@ -275,6 +275,8 @@ typedef int (*ph_ov_f) (void *); typedef int (*ph_pqc_f) (unsigned short, PhCursorInfo_t *); #endif +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static key_define_t mc_default_keys[] = { diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c index ac5ca2b48..08f663dfa 100644 --- a/lib/tty/tty-ncurses.c +++ b/lib/tty/tty-ncurses.c @@ -78,15 +78,16 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* ncurses supports cursor positions only within window */ /* We use our own cursor coordinates to support partially visible widgets */ static int mc_curs_row, mc_curs_col; -/*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ - +/*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ static void diff --git a/lib/tty/tty-slang.c b/lib/tty/tty-slang.c index da6ba82ac..3aa74de2f 100644 --- a/lib/tty/tty-slang.c +++ b/lib/tty/tty-slang.c @@ -74,6 +74,8 @@ int reset_hp_softkeys = 0; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* Various saved termios settings that we control here */ diff --git a/lib/tty/tty.c b/lib/tty/tty.c index 6ae4cbaaa..cae0a05ec 100644 --- a/lib/tty/tty.c +++ b/lib/tty/tty.c @@ -68,10 +68,13 @@ int mc_tty_frm[MC_TTY_FRM_MAX]; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static SIG_ATOMIC_VOLATILE_T got_interrupt = 0; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/tty/win.c b/lib/tty/win.c index e125d3e31..45451a482 100644 --- a/lib/tty/win.c +++ b/lib/tty/win.c @@ -55,10 +55,13 @@ char *rmcup = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static gboolean rxvt_extensions = FALSE; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/tty/x11conn.c b/lib/tty/x11conn.c index b7be0c3cc..20e201bc7 100644 --- a/lib/tty/x11conn.c +++ b/lib/tty/x11conn.c @@ -57,6 +57,8 @@ typedef int (*mc_XErrorHandler_callback) (Display *, XErrorEvent *); typedef int (*mc_XIOErrorHandler_callback) (Display *); +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ #ifdef HAVE_GMODULE @@ -66,6 +68,7 @@ static mc_XErrorHandler_callback (*func_XSetErrorHandler) (mc_XErrorHandler_call static mc_XIOErrorHandler_callback (*func_XSetIOErrorHandler) (mc_XIOErrorHandler_callback); static Bool (*func_XQueryPointer) (Display *, Window, Window *, Window *, int *, int *, int *, int *, unsigned int *); + static GModule *x11_module; #endif @@ -79,6 +82,7 @@ static gboolean lost_connection = FALSE; static jmp_buf x11_exception; /* FIXME: get a better name */ static gboolean longjmp_allowed = FALSE; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/util.c b/lib/util.c index 1052c749f..744bd9e76 100644 --- a/lib/util.c +++ b/lib/util.c @@ -72,6 +72,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/util.h b/lib/util.h index 6696d02d1..ec8b25ec5 100644 --- a/lib/util.h +++ b/lib/util.h @@ -122,27 +122,6 @@ typedef struct /*** structures declarations (and typedefs of structures)*****************************************/ -/* keys are set only during sorting */ -typedef struct -{ - /* File attributes */ - GString *fname; - struct stat st; - /* key used for comparing names */ - char *sort_key; - /* key used for comparing extensions */ - char *second_sort_key; - - /* Flags */ - struct - { - unsigned int marked:1; /* File marked in pane window */ - unsigned int link_to_dir:1; /* If this is a link, does it point to directory? */ - unsigned int stale_link:1; /* If this is a symlink and points to Charon's land */ - unsigned int dir_size_computed:1; /* Size of directory was computed with dirsizes_cmd */ - } f; -} file_entry_t; - /*** global variables defined in .c file *********************************************************/ extern struct sigaction startup_handler; diff --git a/lib/utilunix.c b/lib/utilunix.c index 767f8b0bf..42e0f6d5d 100644 --- a/lib/utilunix.c +++ b/lib/utilunix.c @@ -103,6 +103,8 @@ typedef struct struct sigaction stop; } my_system_sigactions_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static int_cache uid_cache[UID_CACHE_SIZE]; diff --git a/lib/vfs/direntry.c b/lib/vfs/direntry.c index d45e51a59..5bd81989e 100644 --- a/lib/vfs/direntry.c +++ b/lib/vfs/direntry.c @@ -98,6 +98,8 @@ struct dirhandle /*** file scope variables ************************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/vfs/gc.c b/lib/vfs/gc.c index a77cd1b18..dd64ecd1a 100644 --- a/lib/vfs/gc.c +++ b/lib/vfs/gc.c @@ -100,6 +100,8 @@ struct vfs_stamping gint64 time; }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static GSList *stamps = NULL; diff --git a/lib/vfs/interface.c b/lib/vfs/interface.c index 06a75ac08..6546f6040 100644 --- a/lib/vfs/interface.c +++ b/lib/vfs/interface.c @@ -71,8 +71,11 @@ extern struct vfs_dirent *mc_readdir_result; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -250,6 +253,8 @@ int mc_##name inarg \ MC_NAMEOP (chmod, (const vfs_path_t *vpath, mode_t mode), (vpath, mode)) MC_NAMEOP (chown, (const vfs_path_t *vpath, uid_t owner, gid_t group), (vpath, owner, group)) +MC_NAMEOP (fgetflags, (const vfs_path_t *vpath, unsigned long *flags), (vpath, flags)) +MC_NAMEOP (fsetflags, (const vfs_path_t *vpath, unsigned long flags), (vpath, flags)) MC_NAMEOP (utime, (const vfs_path_t *vpath, mc_timesbuf_t * times), (vpath, times)) MC_NAMEOP (readlink, (const vfs_path_t *vpath, char *buf, size_t bufsiz), (vpath, buf, bufsiz)) MC_NAMEOP (unlink, (const vfs_path_t *vpath), (vpath)) diff --git a/lib/vfs/netutil.c b/lib/vfs/netutil.c index 1ce690dd9..1306879be 100644 --- a/lib/vfs/netutil.c +++ b/lib/vfs/netutil.c @@ -43,8 +43,11 @@ SIG_ATOMIC_VOLATILE_T got_sigpipe = 0; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/vfs/parse_ls_vga.c b/lib/vfs/parse_ls_vga.c index 88b288250..779792f57 100644 --- a/lib/vfs/parse_ls_vga.c +++ b/lib/vfs/parse_ls_vga.c @@ -54,6 +54,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static char *columns[MAXCOLS]; /* Points to the string in column n */ diff --git a/lib/vfs/path.c b/lib/vfs/path.c index 51c9cef71..eda7690c8 100644 --- a/lib/vfs/path.c +++ b/lib/vfs/path.c @@ -54,8 +54,11 @@ extern GPtrArray *vfs__classes_list; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/vfs/vfs.c b/lib/vfs/vfs.c index 02bb0b4ad..52494e533 100644 --- a/lib/vfs/vfs.c +++ b/lib/vfs/vfs.c @@ -95,6 +95,8 @@ struct vfs_openfile void *fsinfo; }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /** They keep track of the current directory */ diff --git a/lib/vfs/vfs.h b/lib/vfs/vfs.h index ad45fc983..e03396402 100644 --- a/lib/vfs/vfs.h +++ b/lib/vfs/vfs.h @@ -169,6 +169,10 @@ typedef struct vfs_class int (*chmod) (const vfs_path_t * vpath, mode_t mode); int (*chown) (const vfs_path_t * vpath, uid_t owner, gid_t group); + + int (*fgetflags) (const vfs_path_t * vpath, unsigned long *flags); + int (*fsetflags) (const vfs_path_t * vpath, unsigned long flags); + int (*utime) (const vfs_path_t * vpath, mc_timesbuf_t * times); int (*readlink) (const vfs_path_t * vpath, char *buf, size_t size); @@ -318,6 +322,8 @@ int mc_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2); int mc_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2); int mc_chmod (const vfs_path_t * vpath, mode_t mode); int mc_chown (const vfs_path_t * vpath, uid_t owner, gid_t group); +int mc_fgetflags (const vfs_path_t * vpath, unsigned long *flags); +int mc_fsetflags (const vfs_path_t * vpath, unsigned long flags); int mc_chdir (const vfs_path_t * vpath); int mc_unlink (const vfs_path_t * vpath); int mc_ctl (int fd, int ctlop, void *arg); diff --git a/lib/widget/background.c b/lib/widget/background.c index 456afd911..1965dee61 100644 --- a/lib/widget/background.c +++ b/lib/widget/background.c @@ -42,6 +42,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/buttonbar.c b/lib/widget/buttonbar.c index bf911a015..452200010 100644 --- a/lib/widget/buttonbar.c +++ b/lib/widget/buttonbar.c @@ -52,8 +52,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -281,7 +284,7 @@ buttonbar_set_label (WButtonBar * bb, int idx, const char *text, const global_ke /* Find ButtonBar widget in the dialog */ WButtonBar * -find_buttonbar (const WDialog * h) +buttonbar_find (const WDialog * h) { return BUTTONBAR (widget_find_by_type (CONST_WIDGET (h), buttonbar_callback)); } diff --git a/lib/widget/buttonbar.h b/lib/widget/buttonbar.h index 9fc049a45..af9249c93 100644 --- a/lib/widget/buttonbar.h +++ b/lib/widget/buttonbar.h @@ -39,7 +39,7 @@ typedef struct WButtonBar WButtonBar *buttonbar_new (void); void buttonbar_set_label (WButtonBar * bb, int idx, const char *text, const global_keymap_t * keymap, Widget * receiver); -WButtonBar *find_buttonbar (const WDialog * h); +WButtonBar *buttonbar_find (const WDialog * h); /*** inline functions ****************************************************************************/ diff --git a/lib/widget/check.c b/lib/widget/check.c index f42bbda1c..63c55e384 100644 --- a/lib/widget/check.c +++ b/lib/widget/check.c @@ -47,9 +47,13 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static cb_ret_t check_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data) diff --git a/lib/widget/dialog-switch.c b/lib/widget/dialog-switch.c index 1e43debe4..9f4367a9b 100644 --- a/lib/widget/dialog-switch.c +++ b/lib/widget/dialog-switch.c @@ -46,6 +46,8 @@ WDialog *filemanager = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* List of dialogs: filemanagers, editors, viewers */ @@ -55,6 +57,7 @@ static GList *mc_current = NULL; /* Is there any dialogs that we have to run after returning to the manager from another dialog */ static gboolean dialog_switch_pending = FALSE; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -229,7 +232,7 @@ dialog_switch_list (void) lines = MIN ((size_t) (LINES * 2 / 3), dlg_num); cols = COLS * 2 / 3; - listbox = create_listbox_window (lines, cols, _("Screens"), "[Screen selector]"); + listbox = listbox_window_new (lines, cols, _("Screens"), "[Screen selector]"); for (h = mc_dialogs; h != NULL; h = g_list_next (h)) { @@ -246,7 +249,7 @@ dialog_switch_list (void) g_free (title); } - selected = run_listbox_with_data (listbox, mc_current); + selected = listbox_run_with_data (listbox, mc_current); if (selected != NULL) dialog_switch_goto (selected); } diff --git a/lib/widget/dialog.c b/lib/widget/dialog.c index 72ca9234a..d756fa87b 100644 --- a/lib/widget/dialog.c +++ b/lib/widget/dialog.c @@ -75,6 +75,8 @@ const global_keymap_t *dialog_map = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -334,6 +336,7 @@ dlg_default_destroy (Widget * w) /* if some widgets have history, save all histories at one moment here */ dlg_save_history (h); group_default_callback (w, NULL, MSG_DESTROY, 0, NULL); + send_message (w, NULL, MSG_DESTROY, 0, NULL); mc_event_group_del (h->event_group); g_free (h->event_group); g_free (h); @@ -427,7 +430,7 @@ dlg_create (gboolean modal, int y1, int x1, int lines, int cols, widget_pos_flag new_d->colors = colors; new_d->help_ctx = help_ctx; new_d->compact = compact; - new_d->data = NULL; + new_d->data.p = NULL; if (modal) { diff --git a/lib/widget/dialog.h b/lib/widget/dialog.h index 0ebf51051..8367905db 100644 --- a/lib/widget/dialog.h +++ b/lib/widget/dialog.h @@ -69,10 +69,16 @@ struct WDialog int ret_value; /* Result of dlg_run() */ /* Internal variables */ - void *data; /* Data can be passed to dialog */ char *event_group; /* Name of event group for this dialog */ Widget *bg; /* WFrame or WBackground */ + /* Data can be passed to dialog */ + union + { + void *p; + int i; + } data; + dlg_shortcut_str get_shortcut; /* Shortcut string */ dlg_title_str get_title; /* useless for modal dialogs */ }; diff --git a/lib/widget/frame.c b/lib/widget/frame.c index 3996cddd7..31127ab0c 100644 --- a/lib/widget/frame.c +++ b/lib/widget/frame.c @@ -45,6 +45,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/gauge.c b/lib/widget/gauge.c index b9f0ac3ab..5eebb11c8 100644 --- a/lib/widget/gauge.c +++ b/lib/widget/gauge.c @@ -50,9 +50,13 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static cb_ret_t gauge_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data) diff --git a/lib/widget/group.c b/lib/widget/group.c index 02360e9ba..eb6ba1e89 100644 --- a/lib/widget/group.c +++ b/lib/widget/group.c @@ -60,6 +60,8 @@ typedef struct gboolean enable; } widget_state_info_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/groupbox.c b/lib/widget/groupbox.c index e1f867e0b..49cf7b010 100644 --- a/lib/widget/groupbox.c +++ b/lib/widget/groupbox.c @@ -48,9 +48,13 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static cb_ret_t groupbox_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data) diff --git a/lib/widget/history.c b/lib/widget/history.c index d56bc51f3..7013017d0 100644 --- a/lib/widget/history.c +++ b/lib/widget/history.c @@ -61,9 +61,13 @@ typedef struct size_t max_width; } history_dlg_data; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static cb_ret_t history_dlg_reposition (WDialog * dlg_head) @@ -73,10 +77,10 @@ history_dlg_reposition (WDialog * dlg_head) WRect r; /* guard checks */ - if ((dlg_head == NULL) || (dlg_head->data == NULL)) + if (dlg_head == NULL || dlg_head->data.p == NULL) return MSG_NOT_HANDLED; - data = (history_dlg_data *) dlg_head->data; + data = (history_dlg_data *) dlg_head->data.p; y = data->y; he = data->count + 2; @@ -227,7 +231,7 @@ history_show (history_descriptor_t * hd) query_dlg = dlg_create (TRUE, 0, 0, 4, 4, WPOS_KEEP_DEFAULT, TRUE, dialog_colors, history_dlg_callback, NULL, "[History-query]", _("History")); - query_dlg->data = &hist_data; + query_dlg->data.p = &hist_data; /* this call makes list stick to all sides of dialog, effectively make it be resized with dialog */ diff --git a/lib/widget/hline.c b/lib/widget/hline.c index 0076f9fc1..73e261a29 100644 --- a/lib/widget/hline.c +++ b/lib/widget/hline.c @@ -50,6 +50,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/input.c b/lib/widget/input.c index bc8808afe..3a67b4979 100644 --- a/lib/widget/input.c +++ b/lib/widget/input.c @@ -75,12 +75,15 @@ input_colors_t input_colors; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* Input widgets have a global kill ring */ /* Pointer to killed data */ static char *kill_buffer = NULL; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/input_complete.c b/lib/widget/input_complete.c index 5d487c14a..734837277 100644 --- a/lib/widget/input_complete.c +++ b/lib/widget/input_complete.c @@ -87,6 +87,11 @@ typedef struct input_complete_t flags; } try_complete_automation_state_t; +/*** forward declarations (file scope functions) *************************************************/ + +char **try_complete (char *text, int *lc_start, int *lc_end, input_complete_t flags); +void complete_engine_fill_completions (WInput * in); + /*** file scope variables ************************************************************************/ static char **hosts = NULL; @@ -99,12 +104,10 @@ static int min_end; static int start = 0; static int end = 0; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -char **try_complete (char *text, int *lc_start, int *lc_end, input_complete_t flags); -void complete_engine_fill_completions (WInput * in); - #ifdef DO_COMPLETION_DEBUG /** * Useful to print/debug completion flags diff --git a/lib/widget/label.c b/lib/widget/label.c index d7d06eb4f..5a04a0f0e 100644 --- a/lib/widget/label.c +++ b/lib/widget/label.c @@ -52,9 +52,13 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static cb_ret_t label_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data) diff --git a/lib/widget/listbox-window.c b/lib/widget/listbox-window.c index e4261bb25..21c7436e5 100644 --- a/lib/widget/listbox-window.c +++ b/lib/widget/listbox-window.c @@ -56,8 +56,8 @@ /* --------------------------------------------------------------------------------------------- */ Listbox * -create_listbox_window_centered (int center_y, int center_x, int lines, int cols, - const char *title, const char *help) +listbox_window_centered_new (int center_y, int center_x, int lines, int cols, + const char *title, const char *help) { const int space = 4; @@ -117,16 +117,16 @@ create_listbox_window_centered (int center_y, int center_x, int lines, int cols, /* --------------------------------------------------------------------------------------------- */ Listbox * -create_listbox_window (int lines, int cols, const char *title, const char *help) +listbox_window_new (int lines, int cols, const char *title, const char *help) { - return create_listbox_window_centered (-1, -1, lines, cols, title, help); + return listbox_window_centered_new (-1, -1, lines, cols, title, help); } /* --------------------------------------------------------------------------------------------- */ /** Returns the number of the item selected */ int -run_listbox (Listbox * l) +listbox_run (Listbox * l) { int val = -1; @@ -140,14 +140,14 @@ run_listbox (Listbox * l) /* --------------------------------------------------------------------------------------------- */ /** - * A variant of run_listbox() which is more convenient to use when we + * A variant of listbox_run() which is more convenient to use when we * need to select arbitrary 'data'. * * @param select the item to select initially, by its 'data'. Optional. * @return the 'data' of the item selected, or NULL if none selected. */ void * -run_listbox_with_data (Listbox * l, const void *select) +listbox_run_with_data (Listbox * l, const void *select) { void *val = NULL; diff --git a/lib/widget/listbox-window.h b/lib/widget/listbox-window.h index 5a6082956..b9bb1e865 100644 --- a/lib/widget/listbox-window.h +++ b/lib/widget/listbox-window.h @@ -25,11 +25,11 @@ typedef struct /*** declarations of public functions ************************************************************/ /* Listbox utility functions */ -Listbox *create_listbox_window_centered (int center_y, int center_x, int lines, int cols, - const char *title, const char *help); -Listbox *create_listbox_window (int lines, int cols, const char *title, const char *help); -int run_listbox (Listbox * l); -void *run_listbox_with_data (Listbox * l, const void *select); +Listbox *listbox_window_centered_new (int center_y, int center_x, int lines, int cols, + const char *title, const char *help); +Listbox *listbox_window_new (int lines, int cols, const char *title, const char *help); +int listbox_run (Listbox * l); +void *listbox_run_with_data (Listbox * l, const void *select); /*** inline functions ****************************************************************************/ diff --git a/lib/widget/listbox.c b/lib/widget/listbox.c index efc7a384f..c1b01497b 100644 --- a/lib/widget/listbox.c +++ b/lib/widget/listbox.c @@ -55,9 +55,13 @@ const global_keymap_t *listbox_map = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static int listbox_entry_cmp (const void *a, const void *b, void *user_data) diff --git a/lib/widget/menu.c b/lib/widget/menu.c index 85b6de1a4..55a127e55 100644 --- a/lib/widget/menu.c +++ b/lib/widget/menu.c @@ -73,8 +73,11 @@ struct menu_t char *help_node; }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -638,7 +641,7 @@ menubar_refresh (WMenuBar * menubar) static inline void menubar_free_menu (WMenuBar * menubar) { - g_clear_list (&menubar->menu, (GDestroyNotify) destroy_menu); + g_clear_list (&menubar->menu, (GDestroyNotify) menu_free); } /* --------------------------------------------------------------------------------------------- */ @@ -880,7 +883,7 @@ menubar_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) /* --------------------------------------------------------------------------------------------- */ menu_entry_t * -menu_entry_create (const char *name, long command) +menu_entry_new (const char *name, long command) { menu_entry_t *entry; @@ -909,7 +912,7 @@ menu_entry_free (menu_entry_t * entry) /* --------------------------------------------------------------------------------------------- */ menu_t * -create_menu (const char *name, GList * entries, const char *help_node) +menu_new (const char *name, GList * entries, const char *help_node) { menu_t *menu; @@ -937,7 +940,7 @@ menu_set_name (menu_t * menu, const char *name) /* --------------------------------------------------------------------------------------------- */ void -destroy_menu (menu_t * menu) +menu_free (menu_t * menu) { hotkey_free (menu->text); g_list_free_full (menu->entries, (GDestroyNotify) menu_entry_free); @@ -1050,7 +1053,7 @@ menubar_arrange (WMenuBar * menubar) /** Find MenuBar widget in the dialog */ WMenuBar * -find_menubar (const WDialog * h) +menubar_find (const WDialog * h) { return MENUBAR (widget_find_by_type (CONST_WIDGET (h), menubar_callback)); } diff --git a/lib/widget/menu.h b/lib/widget/menu.h index 3fc241c1e..879df7b86 100644 --- a/lib/widget/menu.h +++ b/lib/widget/menu.h @@ -13,7 +13,7 @@ #define MENUBAR(x) ((WMenuBar *)(x)) -#define menu_separator_create() NULL +#define menu_separator_new() NULL /*** enums ***************************************************************************************/ @@ -42,19 +42,19 @@ extern const global_keymap_t *menu_map; /*** declarations of public functions ************************************************************/ -menu_entry_t *menu_entry_create (const char *name, long command); +menu_entry_t *menu_entry_new (const char *name, long command); void menu_entry_free (menu_entry_t * me); -menu_t *create_menu (const char *name, GList * entries, const char *help_node); +menu_t *menu_new (const char *name, GList * entries, const char *help_node); void menu_set_name (menu_t * menu, const char *name); -void destroy_menu (menu_t * menu); +void menu_free (menu_t * menu); WMenuBar *menubar_new (GList * menu); void menubar_set_menu (WMenuBar * menubar, GList * menu); void menubar_add_menu (WMenuBar * menubar, menu_t * menu); void menubar_arrange (WMenuBar * menubar); -WMenuBar *find_menubar (const WDialog * h); +WMenuBar *menubar_find (const WDialog * h); void menubar_activate (WMenuBar * menubar, gboolean dropped, int which); diff --git a/lib/widget/mouse.c b/lib/widget/mouse.c index 6d594117e..15ad5f5a5 100644 --- a/lib/widget/mouse.c +++ b/lib/widget/mouse.c @@ -40,6 +40,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/quick.c b/lib/widget/quick.c index 712fecc8e..35f5d6808 100644 --- a/lib/widget/quick.c +++ b/lib/widget/quick.c @@ -59,6 +59,8 @@ typedef struct quick_widget_t *quick_widget; } quick_widget_item_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/radio.c b/lib/widget/radio.c index ac0b72d8b..8fb52d8b1 100644 --- a/lib/widget/radio.c +++ b/lib/widget/radio.c @@ -49,6 +49,8 @@ const global_keymap_t *radio_map = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/lib/widget/widget-common.c b/lib/widget/widget-common.c index d67426b3f..5e59d68d4 100644 --- a/lib/widget/widget-common.c +++ b/lib/widget/widget-common.c @@ -51,6 +51,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* maximum value of used widget ID */ diff --git a/lib/widget/wtools.c b/lib/widget/wtools.c index df952fab7..a4af4b5b9 100644 --- a/lib/widget/wtools.c +++ b/lib/widget/wtools.c @@ -50,6 +50,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static WDialog *last_query_dlg; @@ -712,7 +714,7 @@ simple_status_msg_init_cb (status_msg_t * sm) wd_width = MAX (wd->rect.cols, b_width + 6); y = 2; - ssm->label = label_new (y++, 3, ""); + ssm->label = label_new (y++, 3, NULL); group_add_widget_autopos (wg, ssm->label, WPOS_KEEP_TOP | WPOS_CENTER_HORZ, NULL); group_add_widget (wg, hline_new (y++, -1, -1)); b = WIDGET (button_new (y++, 3, B_CANCEL, NORMAL_BUTTON, b_name, NULL)); diff --git a/m4.include/mc-get-fs-info.m4 b/m4.include/mc-get-fs-info.m4 index 5afc9f1bb..b0ea1a8dc 100644 --- a/m4.include/mc-get-fs-info.m4 +++ b/m4.include/mc-get-fs-info.m4 @@ -3,11 +3,12 @@ dnl dnl posix_allocate() function detection dnl -AC_DEFUN([gl_POSIX_FALLOCATE], [ +AC_DEFUN([POSIX_FALLOCATE], [ dnl * Old glibcs have broken posix_fallocate(). Make sure not to use it. AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #define _XOPEN_SOURCE 600 #include + #include #if defined(__GLIBC__) && (__GLIBC__ < 2 || __GLIBC_MINOR__ < 7) possibly broken posix_fallocate #endif @@ -115,7 +116,7 @@ AC_DEFUN([mc_GET_FS_INFO], [ fi gl_FSTYPENAME - gl_POSIX_FALLOCATE + POSIX_FALLOCATE mc_cu_PREREQ_STAT_PROG ]) diff --git a/maint/templates/template.c b/maint/templates/template.c index dbd0c4dd3..7ed519af0 100644 --- a/maint/templates/template.c +++ b/maint/templates/template.c @@ -45,8 +45,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/po/af.po b/po/af.po index 3e69f26eb..a727f58df 100644 --- a/po/af.po +++ b/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Afrikaans (http://www.transifex.com/mc/mc/language/af/)\n" @@ -2156,9 +2156,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3313,9 +3310,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4216,18 +4210,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/ar.po b/po/ar.po index cb8472e25..e428af3c5 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Arabic (http://www.transifex.com/mc/mc/language/ar/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3326,9 +3323,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4233,18 +4227,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/az.po b/po/az.po index d7b426e0f..95c531b79 100644 --- a/po/az.po +++ b/po/az.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Azerbaijani (http://www.transifex.com/mc/mc/language/az/)\n" @@ -2159,9 +2159,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3316,9 +3313,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4254,6 +4248,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Tar arxivi düzgün deyildir" + +msgid "Unexpected EOF on archive file" +msgstr "Arxiv faylında gözlənilməz EOF yaxalandı" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4262,12 +4262,6 @@ msgstr "" "%s\n" "tar arxivini aça bilmədim" -msgid "Inconsistent tar archive" -msgstr "Tar arxivi düzgün deyildir" - -msgid "Unexpected EOF on archive file" -msgstr "Arxiv faylında gözlənilməz EOF yaxalandı" - #, c-format msgid "" "%s\n" diff --git a/po/be.po b/po/be.po index 865a37802..4831f3fcc 100644 --- a/po/be.po +++ b/po/be.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Pavel Suravezhkin, 2022\n" "Language-Team: Belarusian (http://www.transifex.com/mc/mc/language/be/)\n" @@ -2273,9 +2273,6 @@ msgstr "" "Немагчыма chattr \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Немагчыма змяніць атрыбуты ў нелакальных файлавых сістэмах" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3523,9 +3520,6 @@ msgstr "Уладальнік: %s/%s" msgid "Links: %d" msgstr "Спасылкі: %d" -msgid "Attributes: not supported" -msgstr "Атрыбуты: не падтрымліваецца" - #, c-format msgid "Attributes: %s" msgstr "Атрыбуты: %s" @@ -4508,6 +4502,12 @@ msgstr "sftp: чытаецца спіс (спыніць — «Ctrl-G»)… %s" msgid "sftp: Listing done." msgstr "sftp: спіс прачытаны." +msgid "Inconsistent tar archive" +msgstr "Несумяшчальны архіў tar" + +msgid "Unexpected EOF on archive file" +msgstr "Нечаканы канец файла архіва" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4516,12 +4516,6 @@ msgstr "" "Немагчыма адкрыць архіў tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Несумяшчальны архіў tar" - -msgid "Unexpected EOF on archive file" -msgstr "Нечаканы канец файла архіва" - #, c-format msgid "" "%s\n" @@ -4722,6 +4716,12 @@ msgstr "Працягваць ад пачатку?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Немагчыма атрымаць лакальную копію /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Немагчыма змяніць атрыбуты ў нелакальных файлавых сістэмах" + +#~ msgid "Attributes: not supported" +#~ msgstr "Атрыбуты: не падтрымліваецца" + #, c-format #~ msgid " %s%s file error" #~ msgstr " Памылка ў файле %s%s" diff --git a/po/bg.po b/po/bg.po index 15067308b..9b551d95d 100644 --- a/po/bg.po +++ b/po/bg.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Alexander Shopov , 2022\n" "Language-Team: Bulgarian (http://www.transifex.com/mc/mc/language/bg/)\n" @@ -2272,9 +2272,6 @@ msgstr "" "Неуспешно изпълнение на chattr „%s“\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Не може да се сменят атрибути на отдалечени ФС" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3518,9 +3515,6 @@ msgstr "Притежател: %s/%s" msgid "Links: %d" msgstr "Връзки: %d" -msgid "Attributes: not supported" -msgstr "Атрибути: не се поддържат" - #, c-format msgid "Attributes: %s" msgstr "Атрибути: %s" @@ -4502,6 +4496,12 @@ msgstr "sftp: (прекъсване с Ctrl-G) Извеждане… %s" msgid "sftp: Listing done." msgstr "sftp: Извеждането приключи." +msgid "Inconsistent tar archive" +msgstr "сгрешен архив tar" + +msgid "Unexpected EOF on archive file" +msgstr "Неочакван край на архива" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4510,12 +4510,6 @@ msgstr "" "Не може да се отвори архивът tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "сгрешен архив tar" - -msgid "Unexpected EOF on archive file" -msgstr "Неочакван край на архива" - #, c-format msgid "" "%s\n" @@ -4716,6 +4710,12 @@ msgstr "Да се продължи ли от началото?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Не може да се изтегли локално копие на „/ftp://some.host/editme.txt“" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Не може да се сменят атрибути на отдалечени ФС" + +#~ msgid "Attributes: not supported" +#~ msgstr "Атрибути: не се поддържат" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s файлова грешка" diff --git a/po/br.po b/po/br.po index e800c1477..0b245473c 100644 --- a/po/br.po +++ b/po/br.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Irriep Nala Novram , 2017-2018\n" "Language-Team: Breton (http://www.transifex.com/mc/mc/language/br/)\n" @@ -2161,9 +2161,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3327,9 +3324,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4233,18 +4227,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/ca.po b/po/ca.po index 897768c02..4fd0ffcd9 100644 --- a/po/ca.po +++ b/po/ca.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Antoni Bella Pérez , 2017-2022\n" "Language-Team: Catalan (http://www.transifex.com/mc/mc/language/ca/)\n" @@ -2283,9 +2283,6 @@ msgstr "" "No s'ha pogut fer chattr «%s»\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "No es poden canviar els atributs en sistemes de fitxers no locals" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3529,9 +3526,6 @@ msgstr "Propietari: %s/%s" msgid "Links: %d" msgstr "Enllaços: %d" -msgid "Attributes: not supported" -msgstr "Atributs: no admesos" - #, c-format msgid "Attributes: %s" msgstr "Atributs: %s" @@ -4523,6 +4517,12 @@ msgstr "sftp: (Ctrl-G per a cancel·lar) s'està llistant... %s" msgid "sftp: Listing done." msgstr "sftp: el llistat s'ha completat." +msgid "Inconsistent tar archive" +msgstr "L'arxiu TAR no és coherent" + +msgid "Unexpected EOF on archive file" +msgstr "Fi de fitxer inesperat al fitxer d'arxiu" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4531,12 +4531,6 @@ msgstr "" "No s'ha pogut obrir l'arxiu TAR\n" "%s" -msgid "Inconsistent tar archive" -msgstr "L'arxiu TAR no és coherent" - -msgid "Unexpected EOF on archive file" -msgstr "Fi de fitxer inesperat al fitxer d'arxiu" - #, c-format msgid "" "%s\n" @@ -4739,6 +4733,12 @@ msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "" "No s'ha pogut obtenir una còpia local de /ftp://algun.amfitrió/editam.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "No es poden canviar els atributs en sistemes de fitxers no locals" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atributs: no admesos" + #, c-format #~ msgid " %s%s file error" #~ msgstr " error en el fitxer %s%s" diff --git a/po/cs.po b/po/cs.po index 164cc5dab..7e88515a5 100644 --- a/po/cs.po +++ b/po/cs.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Pavel Borecki , 2017-2022\n" "Language-Team: Czech (http://www.transifex.com/mc/mc/language/cs/)\n" @@ -2272,9 +2272,6 @@ msgstr "" "Není možné chattr „%s“\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Není možné měnit atributy souborových systémů, které nejsou lokální" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3533,9 +3530,6 @@ msgstr "Vlastník: %s/%s" msgid "Links: %d" msgstr "Odkazy: %d" -msgid "Attributes: not supported" -msgstr "Atributy: nepodporováno" - #, c-format msgid "Attributes: %s" msgstr "Atributy: %s" @@ -4522,6 +4516,12 @@ msgstr "sftp: (přerušení CTRL+G) vypisování… %s" msgid "sftp: Listing done." msgstr "sftp: Vypsání dokončeno." +msgid "Inconsistent tar archive" +msgstr "Nekonzistentní archiv .tar" + +msgid "Unexpected EOF on archive file" +msgstr "Archivní soubor neočekávaně končí" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4530,12 +4530,6 @@ msgstr "" ".tar archiv se nedaří otevřít\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Nekonzistentní archiv .tar" - -msgid "Unexpected EOF on archive file" -msgstr "Archivní soubor neočekávaně končí" - #, c-format msgid "" "%s\n" @@ -4736,6 +4730,12 @@ msgstr "Pokračovat od začátku?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Nedaří získat místní kopii souboru /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Není možné měnit atributy souborových systémů, které nejsou lokální" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atributy: nepodporováno" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s chyba souboru" diff --git a/po/da.po b/po/da.po index 1bc3c73fb..18e42d0e4 100644 --- a/po/da.po +++ b/po/da.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: scootergrisen, 2018-2020\n" "Language-Team: Danish (http://www.transifex.com/mc/mc/language/da/)\n" @@ -2267,9 +2267,6 @@ msgstr "" "Kan ikke chattr \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Kan ikke ændre attributter på filsystemer som ikke er lokale" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3513,9 +3510,6 @@ msgstr "Ejer: %s/%s" msgid "Links: %d" msgstr "Henvisninger: %d" -msgid "Attributes: not supported" -msgstr "Attributter: understøttes ikke" - #, c-format msgid "Attributes: %s" msgstr "Attributter: %s" @@ -4469,6 +4463,12 @@ msgstr "sftp: (Ctrl-G break) Liste... %s" msgid "sftp: Listing done." msgstr "sftp: Liste færdig." +msgid "Inconsistent tar archive" +msgstr "Inkonsistent tar-arkiv" + +msgid "Unexpected EOF on archive file" +msgstr "Uventet EOF i arkivfilen" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4477,12 +4477,6 @@ msgstr "" "Kunne ikke åbne tar-arkiv\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Inkonsistent tar-arkiv" - -msgid "Unexpected EOF on archive file" -msgstr "Uventet EOF i arkivfilen" - #, c-format msgid "" "%s\n" @@ -4683,6 +4677,12 @@ msgstr "Fortsæt fra begyndelsen?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Kan ikke hente en lokal kopi af /ftp://en.vært/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Kan ikke ændre attributter på filsystemer som ikke er lokale" + +#~ msgid "Attributes: not supported" +#~ msgstr "Attributter: understøttes ikke" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s-filfejl" diff --git a/po/de.po b/po/de.po index 73222e25f..6913613e4 100644 --- a/po/de.po +++ b/po/de.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Ettore Atalan , 2015-2022\n" "Language-Team: German (http://www.transifex.com/mc/mc/language/de/)\n" @@ -2282,9 +2282,6 @@ msgstr "" "Kann chattr für\"%s\" nicht durchführen\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Kann Attribute auf nicht-lokalen Dateisystemen nicht ändern" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3528,9 +3525,6 @@ msgstr "Eigentümer: %s/%s" msgid "Links: %d" msgstr "Links: %d" -msgid "Attributes: not supported" -msgstr "Attribute: nicht unterstützt" - #, c-format msgid "Attributes: %s" msgstr "Attribute: %s" @@ -4504,6 +4498,12 @@ msgstr "sftp: Auflisten... %s (Strg+G zum Unterbrechen)" msgid "sftp: Listing done." msgstr "sftp: Auflisten beendet." +msgid "Inconsistent tar archive" +msgstr "Inkonsistentes tar-Archiv" + +msgid "Unexpected EOF on archive file" +msgstr "Unerwartetes Dateiende in Archivdatei" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4512,12 +4512,6 @@ msgstr "" "Kann tar-Archiv nicht öffnen\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Inkonsistentes tar-Archiv" - -msgid "Unexpected EOF on archive file" -msgstr "Unerwartetes Dateiende in Archivdatei" - #, c-format msgid "" "%s\n" @@ -4718,6 +4712,12 @@ msgstr "Am Anfang fortsetzen?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Kann lokale Kopie von /ftp://some.host/editme.txt nicht erstellen" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Kann Attribute auf nicht-lokalen Dateisystemen nicht ändern" + +#~ msgid "Attributes: not supported" +#~ msgstr "Attribute: nicht unterstützt" + #, c-format #~ msgid " %s%s file error" #~ msgstr " Fehler in der Datei %s%s " diff --git a/po/de_CH.po b/po/de_CH.po index aa31bc5ad..7d9a4a943 100644 --- a/po/de_CH.po +++ b/po/de_CH.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/mc/" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3314,9 +3311,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4217,18 +4211,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/el.po b/po/el.po index ac1083789..a4dbd096f 100644 --- a/po/el.po +++ b/po/el.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Efstathios Iosifidis , 2015\n" "Language-Team: Greek (http://www.transifex.com/mc/mc/language/el/)\n" @@ -2189,9 +2189,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3396,9 +3393,6 @@ msgstr "" msgid "Links: %d" msgstr "Σύνδεσμοι: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4330,6 +4324,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Χαλασμένη αρχειοθήκη tar" + +msgid "Unexpected EOF on archive file" +msgstr "Απρόσμενο EOF στην αρχειοθήκη" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4338,12 +4338,6 @@ msgstr "" "Άνοιγμα αρχειοθήκης tar ανεπιτυχές\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Χαλασμένη αρχειοθήκη tar" - -msgid "Unexpected EOF on archive file" -msgstr "Απρόσμενο EOF στην αρχειοθήκη" - #, c-format msgid "" "%s\n" diff --git a/po/en_GB.po b/po/en_GB.po index c4a1df34e..0be851e8e 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Andi Chandler , 2016-2017,2020,2022\n" "Language-Team: English (United Kingdom) (http://www.transifex.com/mc/mc/" @@ -2175,9 +2175,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3332,9 +3329,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4235,18 +4229,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/eo.po b/po/eo.po index 48395a820..b8057faee 100644 --- a/po/eo.po +++ b/po/eo.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Yury V. Zaytsev , 2022\n" "Language-Team: Esperanto (http://www.transifex.com/mc/mc/language/eo/)\n" @@ -2268,9 +2268,6 @@ msgstr "" "Ne eblas plenumi la komandon chattr por \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Ne eblas ŝanĝi atributojn en foraj dosiersistemoj" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3521,9 +3518,6 @@ msgstr "Estro: %s/%s" msgid "Links: %d" msgstr "Ligiloj: %d" -msgid "Attributes: not supported" -msgstr "Atributoj: ne komprenataj" - #, c-format msgid "Attributes: %s" msgstr "Atributoj: %s" @@ -4503,6 +4497,12 @@ msgstr "sftp: (Stir-G rompi) Listo... %s" msgid "sftp: Listing done." msgstr "sftp: Listado finita." +msgid "Inconsistent tar archive" +msgstr "Malkonsekvenca tar-dosiero" + +msgid "Unexpected EOF on archive file" +msgstr "Neatendita dosierfino en dosiero" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4511,12 +4511,6 @@ msgstr "" "Ne eblas malfermi tar-dosieron\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Malkonsekvenca tar-dosiero" - -msgid "Unexpected EOF on archive file" -msgstr "Neatendita dosierfino en dosiero" - #, c-format msgid "" "%s\n" @@ -4717,6 +4711,12 @@ msgstr "Ĉu deiri de la komenco?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Ne eblas atingi lokan kopion de /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Ne eblas ŝanĝi atributojn en foraj dosiersistemoj" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atributoj: ne komprenataj" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s: dosiera eraro" diff --git a/po/es.po b/po/es.po index 6c5afddb6..f53bd64f0 100644 --- a/po/es.po +++ b/po/es.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Spanish (http://www.transifex.com/mc/mc/language/es/)\n" @@ -2274,9 +2274,6 @@ msgstr "" "Imposible chattr a «%s»\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Imposible cambiar atributos en sistemas de archivos no locales" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3530,9 +3527,6 @@ msgstr "Dueño: %s/%s" msgid "Links: %d" msgstr "Nº enlaces: %d" -msgid "Attributes: not supported" -msgstr "Atributos: no soportado" - #, c-format msgid "Attributes: %s" msgstr "Atributos: %s" @@ -4511,6 +4505,12 @@ msgstr "sftp: (Ctrl-G para cancelar) Listando... %s" msgid "sftp: Listing done." msgstr "sftp: Listado completo." +msgid "Inconsistent tar archive" +msgstr "Archivo de tipo tar inconsistente" + +msgid "Unexpected EOF on archive file" +msgstr "Fin de archivo inesperado" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4519,12 +4519,6 @@ msgstr "" "Imposible abrir archivo de tipo tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Archivo de tipo tar inconsistente" - -msgid "Unexpected EOF on archive file" -msgstr "Fin de archivo inesperado" - #, c-format msgid "" "%s\n" @@ -4725,6 +4719,12 @@ msgstr "¿Continuar desde el principio?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Imposible obtener una copia local de /ftp://ese.equipo/edítame.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Imposible cambiar atributos en sistemas de archivos no locales" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atributos: no soportado" + #, c-format #~ msgid " %s%s file error" #~ msgstr " error en el archivo %s%s " diff --git a/po/et.po b/po/et.po index cf5edfbc5..4593cf91d 100644 --- a/po/et.po +++ b/po/et.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Priit Jõerüüt , 2020-2021\n" "Language-Team: Estonian (http://www.transifex.com/mc/mc/language/et/)\n" @@ -2257,9 +2257,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Kaugfailisüsteemides ei saa atribuute muuta " - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3500,9 +3497,6 @@ msgstr "Omanik: %s/%s" msgid "Links: %d" msgstr "Viidad: %d" -msgid "Attributes: not supported" -msgstr "Atribuudid: ei ole toetatud" - #, c-format msgid "Attributes: %s" msgstr "Atribuudid: %s" @@ -4462,6 +4456,12 @@ msgstr "sftp: (Ctrl+G katkestab) Loendamine... %s" msgid "sftp: Listing done." msgstr "sftp: Loendamine lõpetatud." +msgid "Inconsistent tar archive" +msgstr "Tar arhiiv sisaldab vasturääkivusi" + +msgid "Unexpected EOF on archive file" +msgstr "Ootamatu arhiivi faili lõpp" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4470,12 +4470,6 @@ msgstr "" "Tar arhiivi avamine nurjus\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Tar arhiiv sisaldab vasturääkivusi" - -msgid "Unexpected EOF on archive file" -msgstr "Ootamatu arhiivi faili lõpp" - #, c-format msgid "" "%s\n" @@ -4676,6 +4670,12 @@ msgstr "Kas jätkata algusest?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Kohaliku koopia hankimine failist /ftp://some.host/editme.txt nurjus" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Kaugfailisüsteemides ei saa atribuute muuta " + +#~ msgid "Attributes: not supported" +#~ msgstr "Atribuudid: ei ole toetatud" + #, c-format #~ msgid " %s%s file error" #~ msgstr "%s%s faili viga" diff --git a/po/eu.po b/po/eu.po index 10fc23a4a..d988c0251 100644 --- a/po/eu.po +++ b/po/eu.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Iñigo Salvador Azurmendi , " "2011,2015-2019\n" @@ -2258,9 +2258,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3503,9 +3500,6 @@ msgstr "Jabea: %s/%s" msgid "Links: %d" msgstr "Estekak: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4457,6 +4451,12 @@ msgstr "sftp: (Ktrl-G eteteko) Zerrendatzen... %s" msgid "sftp: Listing done." msgstr "sftp: Zerrenda osatuta." +msgid "Inconsistent tar archive" +msgstr "tar artxibo inkoherentea" + +msgid "Unexpected EOF on archive file" +msgstr "Ustekabeko EOF artxibo fitxategian" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4465,12 +4465,6 @@ msgstr "" "tar artxiboa ezin ireki\n" "%s" -msgid "Inconsistent tar archive" -msgstr "tar artxibo inkoherentea" - -msgid "Unexpected EOF on archive file" -msgstr "Ustekabeko EOF artxibo fitxategian" - #, c-format msgid "" "%s\n" diff --git a/po/fa.po b/po/fa.po index 08464b6fc..fc38003a1 100644 --- a/po/fa.po +++ b/po/fa.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Arya Hadi , 2017\n" "Language-Team: Persian (http://www.transifex.com/mc/mc/language/fa/)\n" @@ -2161,9 +2161,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3318,9 +3315,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4221,18 +4215,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/fi.po b/po/fi.po index 08bab5e98..72f4095d5 100644 --- a/po/fi.po +++ b/po/fi.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Kimmo Kujansuu , 2021\n" "Language-Team: Finnish (http://www.transifex.com/mc/mc/language/fi/)\n" @@ -2214,9 +2214,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3421,9 +3418,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4329,18 +4323,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/fr.po b/po/fr.po index 5a9b2807f..6d6eb41c3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Wallon Wallon, 2022\n" "Language-Team: French (http://www.transifex.com/mc/mc/language/fr/)\n" @@ -2281,10 +2281,6 @@ msgstr "" "Chattr impossible \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" -"Impossible de modifier les attributs sur les systèmes de fichiers non locaux" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3540,9 +3536,6 @@ msgstr "Propriétaire : %s/%s" msgid "Links: %d" msgstr "Liens : %d" -msgid "Attributes: not supported" -msgstr "Attributs : non supporté" - #, c-format msgid "Attributes: %s" msgstr "Attributs : %s" @@ -4536,6 +4529,12 @@ msgstr "sftp : (Ctrl-G break) Listing... %s" msgid "sftp: Listing done." msgstr "sftp : listing effectué." +msgid "Inconsistent tar archive" +msgstr "Archive tar incohérente" + +msgid "Unexpected EOF on archive file" +msgstr "Fin de fichier inattendue du fichier archive" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4544,12 +4543,6 @@ msgstr "" "Ne peut ouvrir l'archive tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Archive tar incohérente" - -msgid "Unexpected EOF on archive file" -msgstr "Fin de fichier inattendue du fichier archive" - #, c-format msgid "" "%s\n" @@ -4750,6 +4743,14 @@ msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "" "Impossible de récupérer localement le fichier /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "" +#~ "Impossible de modifier les attributs sur les systèmes de fichiers non " +#~ "locaux" + +#~ msgid "Attributes: not supported" +#~ msgstr "Attributs : non supporté" + #, c-format #~ msgid " %s%s file error" #~ msgstr "%s%s erreur de fichier" diff --git a/po/fr_CA.po b/po/fr_CA.po index f87f47662..4c5331b7e 100644 --- a/po/fr_CA.po +++ b/po/fr_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: French (Canada) (http://www.transifex.com/projects/p/mc/" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3314,9 +3311,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4217,18 +4211,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/ga.po b/po/ga.po index 6f4c3a7fb..f830b5fb8 100644 --- a/po/ga.po +++ b/po/ga.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Irish (http://www.transifex.com/mc/mc/language/ga/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3323,9 +3320,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4229,18 +4223,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/gl.po b/po/gl.po index 9285737a5..fcfb70353 100644 --- a/po/gl.po +++ b/po/gl.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Miguel Anxo Bouzada , " "2012,2014-2015,2019\n" @@ -2266,9 +2266,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3510,9 +3507,6 @@ msgstr "Propietario: %s/%s" msgid "Links: %d" msgstr "Ligazóns: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4462,6 +4456,12 @@ msgstr "sftp: (Ctrl-G interrompe) Listado... %s" msgid "sftp: Listing done." msgstr "sftp: Feito o listado." +msgid "Inconsistent tar archive" +msgstr "Arquivo de tipo tar inconsistente" + +msgid "Unexpected EOF on archive file" +msgstr "Fin de ficheiro (EOF) inesperado" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4470,12 +4470,6 @@ msgstr "" "Non é posíbel abrir arquivos de tipo tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Arquivo de tipo tar inconsistente" - -msgid "Unexpected EOF on archive file" -msgstr "Fin de ficheiro (EOF) inesperado" - #, c-format msgid "" "%s\n" diff --git a/po/he.po b/po/he.po index f6943f093..fb4d4ddf8 100644 --- a/po/he.po +++ b/po/he.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Hebrew (http://www.transifex.com/mc/mc/language/he/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3320,9 +3317,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4225,18 +4219,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/hr.po b/po/hr.po index c08f89010..c2cc86c35 100644 --- a/po/hr.po +++ b/po/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Croatian (http://www.transifex.com/mc/mc/language/hr/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3317,9 +3314,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4221,18 +4215,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/hu.po b/po/hu.po index 085b3c0d9..b90f56ece 100644 --- a/po/hu.po +++ b/po/hu.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: András Tőrös , 2020\n" "Language-Team: Hungarian (http://www.transifex.com/mc/mc/language/hu/)\n" @@ -2245,9 +2245,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3483,9 +3480,6 @@ msgstr "Tulajdonos: %s/%s" msgid "Links: %d" msgstr "Linkek száma: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4438,6 +4432,12 @@ msgstr "sftp: %s listázása... (megszakítás: Ctrl-G)" msgid "sftp: Listing done." msgstr "sftp: A listázás kész." +msgid "Inconsistent tar archive" +msgstr "Inkonzisztens tar-archívum." + +msgid "Unexpected EOF on archive file" +msgstr "Váratlan fájlvég az archívumfájlban" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4446,12 +4446,6 @@ msgstr "" "A tar-archívum nem nyitható meg\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Inkonzisztens tar-archívum." - -msgid "Unexpected EOF on archive file" -msgstr "Váratlan fájlvég az archívumfájlban" - #, c-format msgid "" "%s\n" diff --git a/po/ia.po b/po/ia.po index d825d44cd..f29000017 100644 --- a/po/ia.po +++ b/po/ia.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Martijn Dekker , 2012,2017\n" "Language-Team: Interlingua (http://www.transifex.com/mc/mc/language/ia/)\n" @@ -2177,9 +2177,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3334,9 +3331,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4258,6 +4252,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Archivo tar inconsistente" + +msgid "Unexpected EOF on archive file" +msgstr "Fin inexpectate del file de archivo" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4266,12 +4266,6 @@ msgstr "" "Impossibile aperir archivo tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Archivo tar inconsistente" - -msgid "Unexpected EOF on archive file" -msgstr "Fin inexpectate del file de archivo" - #, c-format msgid "" "%s\n" diff --git a/po/id.po b/po/id.po index 58343cc44..7de334069 100644 --- a/po/id.po +++ b/po/id.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Ferriandy Chianiago , 2015\n" "Language-Team: Indonesian (http://www.transifex.com/mc/mc/language/id/)\n" @@ -2195,9 +2195,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3349,9 +3346,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4255,18 +4249,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/ie.po b/po/ie.po index efd28668f..389d10156 100644 --- a/po/ie.po +++ b/po/ie.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Interlingue (http://www.transifex.com/mc/mc/language/ie/)\n" @@ -2160,9 +2160,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3317,9 +3314,6 @@ msgstr "Possessor: %s/%s" msgid "Links: %d" msgstr "Ligamentes: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4222,18 +4216,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/it.po b/po/it.po index c3880c7cb..78eedd460 100644 --- a/po/it.po +++ b/po/it.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Italian (http://www.transifex.com/mc/mc/language/it/)\n" @@ -2270,9 +2270,6 @@ msgstr "" "Impossibile chattr \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Impossibile cambiare gli attributi su filesystem non locali" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3518,9 +3515,6 @@ msgstr "Proprietà: %s/%s" msgid "Links: %d" msgstr "Collegamenti: %d" -msgid "Attributes: not supported" -msgstr "Attributi: non supportati" - #, c-format msgid "Attributes: %s" msgstr "Attributi: %s" @@ -4500,6 +4494,12 @@ msgstr "sftp: (Ctrl-G break) listato... %s" msgid "sftp: Listing done." msgstr "sftp: listato eseguito." +msgid "Inconsistent tar archive" +msgstr "Archivio tar inconsistente" + +msgid "Unexpected EOF on archive file" +msgstr "Inatteso EOF in file archivio" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4508,12 +4508,6 @@ msgstr "" "Non posso aprire l'archivio tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Archivio tar inconsistente" - -msgid "Unexpected EOF on archive file" -msgstr "Inatteso EOF in file archivio" - #, c-format msgid "" "%s\n" @@ -4714,6 +4708,12 @@ msgstr "Continuare dall'inizio?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Impossibile ricevere copia locale di /ftp://un.host/modificami.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Impossibile cambiare gli attributi su filesystem non locali" + +#~ msgid "Attributes: not supported" +#~ msgstr "Attributi: non supportati" + #, c-format #~ msgid " %s%s file error" #~ msgstr " errore nel file %s%s " diff --git a/po/ja.po b/po/ja.po index 0c21b31fb..5e2524159 100644 --- a/po/ja.po +++ b/po/ja.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Takuro Onoue , 2021\n" "Language-Team: Japanese (http://www.transifex.com/mc/mc/language/ja/)\n" @@ -2177,9 +2177,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3331,9 +3328,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4265,6 +4259,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "tar アーカイブに不整合" + +msgid "Unexpected EOF on archive file" +msgstr "予期しないEOFがアーカイブファイルにあります" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4273,12 +4273,6 @@ msgstr "" "tarアーカイブ%sを\n" "開けません" -msgid "Inconsistent tar archive" -msgstr "tar アーカイブに不整合" - -msgid "Unexpected EOF on archive file" -msgstr "予期しないEOFがアーカイブファイルにあります" - #, c-format msgid "" "%s\n" diff --git a/po/ka.po b/po/ka.po index 9450082d3..102d6b908 100644 --- a/po/ka.po +++ b/po/ka.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Temuri Doghonadze , 2022\n" "Language-Team: Georgian (http://www.transifex.com/mc/mc/language/ka/)\n" @@ -2170,9 +2170,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3327,9 +3324,6 @@ msgstr "მფლობელი: %s/%s" msgid "Links: %d" msgstr "ბმულები: %d" -msgid "Attributes: not supported" -msgstr "ატრიბუტები: მხარდაუჭერელია" - #, c-format msgid "Attributes: %s" msgstr "ატრიბუტები: %s" @@ -4230,18 +4224,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" @@ -4422,3 +4416,6 @@ msgstr "თავიდან დავიწყო?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "" + +#~ msgid "Attributes: not supported" +#~ msgstr "ატრიბუტები: მხარდაუჭერელია" diff --git a/po/kk.po b/po/kk.po index 22bce9991..3b0d65069 100644 --- a/po/kk.po +++ b/po/kk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Aidos Kakimzhanov , 2016\n" "Language-Team: Kazakh (http://www.transifex.com/mc/mc/language/kk/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3314,9 +3311,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4217,18 +4211,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/ko.po b/po/ko.po index a51479afb..a27fa9dcc 100644 --- a/po/ko.po +++ b/po/ko.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Junghee Lee , 2022\n" "Language-Team: Korean (http://www.transifex.com/mc/mc/language/ko/)\n" @@ -2265,9 +2265,6 @@ msgstr "" "\"%s\" 속성 변경을 할 수 없습니다\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "로컬이 아닌 파일 시스템의 속성을 변경할 수 없습니다" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3508,9 +3505,6 @@ msgstr "소유자: %s/%s" msgid "Links: %d" msgstr "링크: %d" -msgid "Attributes: not supported" -msgstr "속성: 지원되지 않음" - #, c-format msgid "Attributes: %s" msgstr "속성: %s" @@ -4486,6 +4480,12 @@ msgstr "sftp: (Ctrl-G break) 목록... %s" msgid "sftp: Listing done." msgstr "sftp: 목록 작성 완료." +msgid "Inconsistent tar archive" +msgstr "잘못된 tar 압축파일" + +msgid "Unexpected EOF on archive file" +msgstr "압축 파일에 예기치 않은 EOF가 있음" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4494,12 +4494,6 @@ msgstr "" "tar 압축파일을 열 수 없습니다\n" "%s" -msgid "Inconsistent tar archive" -msgstr "잘못된 tar 압축파일" - -msgid "Unexpected EOF on archive file" -msgstr "압축 파일에 예기치 않은 EOF가 있음" - #, c-format msgid "" "%s\n" @@ -4700,6 +4694,12 @@ msgstr "처음부터 계속하시겠습니까?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "/ftp://some.host/editme.txt의 로컬 복사본을 가져올 수 없습니다" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "로컬이 아닌 파일 시스템의 속성을 변경할 수 없습니다" + +#~ msgid "Attributes: not supported" +#~ msgstr "속성: 지원되지 않음" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s 파일 오류" diff --git a/po/kw.po b/po/kw.po index c1009284f..7fde37e0b 100644 --- a/po/kw.po +++ b/po/kw.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Cornish (http://www.transifex.com/mc/mc/language/kw/)\n" @@ -2162,9 +2162,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3331,9 +3328,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4238,18 +4232,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/lt.po b/po/lt.po index 0e858d0e3..bf5ab3fcc 100644 --- a/po/lt.po +++ b/po/lt.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Mantas Kriaučiūnas Baltix , 2020\n" "Language-Team: Lithuanian (http://www.transifex.com/mc/mc/language/lt/)\n" @@ -2213,9 +2213,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3408,9 +3405,6 @@ msgstr "Savininkas: %s/%s" msgid "Links: %d" msgstr "Nuorodos: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4352,6 +4346,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Nevientisas tar archyvas" + +msgid "Unexpected EOF on archive file" +msgstr "Netikėta archyvo failo pabaiga" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4360,12 +4360,6 @@ msgstr "" "Nepavyko atverti tar archyvo\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Nevientisas tar archyvas" - -msgid "Unexpected EOF on archive file" -msgstr "Netikėta archyvo failo pabaiga" - #, c-format msgid "" "%s\n" diff --git a/po/lv.po b/po/lv.po index 991a218bb..fa6d917e7 100644 --- a/po/lv.po +++ b/po/lv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Latvian (http://www.transifex.com/mc/mc/language/lv/)\n" @@ -2161,9 +2161,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3321,9 +3318,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4262,6 +4256,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Neatbilstīgs tar arhīvs" + +msgid "Unexpected EOF on archive file" +msgstr "Negaidītas arhīva faila beigas (EOF)" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4270,12 +4270,6 @@ msgstr "" "Nevar atvērt tar arhīvu\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Neatbilstīgs tar arhīvs" - -msgid "Unexpected EOF on archive file" -msgstr "Negaidītas arhīva faila beigas (EOF)" - #, c-format msgid "" "%s\n" diff --git a/po/mc.pot b/po/mc.pot index 5b8c10e1c..efb22791e 100644 --- a/po/mc.pot +++ b/po/mc.pot @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: mc 4.8.29-48-g3937f97d9\n" +"Project-Id-Version: mc 4.8.29-103-ga286f042d\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: lib/charsets.c:217 +#: lib/charsets.c:219 msgid "Warning: cannot load codepages list" msgstr "" -#: lib/charsets.c:220 src/filemanager/boxes.c:385 +#: lib/charsets.c:222 src/filemanager/boxes.c:387 msgid "7-bit ASCII" msgstr "" -#: lib/charsets.c:316 lib/charsets.c:327 +#: lib/charsets.c:317 lib/charsets.c:328 #, c-format msgid "Cannot translate from %s to %s" msgstr "" @@ -42,21 +42,21 @@ msgstr "" msgid "Event system not initialized" msgstr "" -#: lib/event/manage.c:77 +#: lib/event/manage.c:72 msgid "Check input data! Some of parameters are NULL!" msgstr "" -#: lib/event/manage.c:175 +#: lib/event/manage.c:166 #, c-format msgid "Unable to create group '%s' for events!" msgstr "" -#: lib/event/manage.c:200 +#: lib/event/manage.c:191 #, c-format msgid "Unable to create event '%s'!" msgstr "" -#: lib/lock.c:242 +#: lib/lock.c:245 #, c-format msgid "" "File \"%s\" is already being edited.\n" @@ -64,100 +64,100 @@ msgid "" "Process ID: %d" msgstr "" -#: lib/lock.c:247 +#: lib/lock.c:250 msgid "File locked" msgstr "" -#: lib/lock.c:247 +#: lib/lock.c:250 msgid "&Grab lock" msgstr "" -#: lib/lock.c:247 +#: lib/lock.c:250 msgid "&Ignore lock" msgstr "" -#: lib/mcconfig/paths.c:109 +#: lib/mcconfig/paths.c:111 #, c-format msgid "Cannot create %s directory" msgstr "" -#: lib/mcconfig/paths.c:129 +#: lib/mcconfig/paths.c:131 msgid "FATAL: not a directory:" msgstr "" -#: lib/search/hex.c:192 +#: lib/search/hex.c:198 msgid "" "Number out of range (should be in byte range, 0 <= n <= 0xFF, expressed in " "hex)" msgstr "" -#: lib/search/hex.c:195 +#: lib/search/hex.c:201 msgid "Invalid character" msgstr "" -#: lib/search/hex.c:198 +#: lib/search/hex.c:204 msgid "Unmatched quotes character" msgstr "" -#: lib/search/hex.c:206 +#: lib/search/hex.c:212 #, c-format msgid "" "Hex pattern error at position %d:\n" "%s." msgstr "" -#: lib/search/lib.c:44 +#: lib/search/lib.c:45 msgid "Search string not found" msgstr "" -#: lib/search/lib.c:45 +#: lib/search/lib.c:46 msgid "Not implemented yet" msgstr "" -#: lib/search/lib.c:47 +#: lib/search/lib.c:48 msgid "Num of replace tokens not equal to num of found tokens" msgstr "" -#: lib/search/lib.c:48 +#: lib/search/lib.c:49 #, c-format msgid "Invalid token number %d" msgstr "" -#: lib/search/regex.c:337 lib/search/regex.c:830 src/filemanager/ext.c:756 +#: lib/search/regex.c:340 lib/search/regex.c:833 src/filemanager/ext.c:758 msgid "Regular expression error" msgstr "" -#: lib/search/search.c:53 src/diffviewer/ydiff.c:2359 +#: lib/search/search.c:55 src/diffviewer/ydiff.c:2362 msgid "No&rmal" msgstr "" -#: lib/search/search.c:54 src/filemanager/find.c:595 +#: lib/search/search.c:56 src/filemanager/find.c:597 msgid "Re&gular expression" msgstr "" -#: lib/search/search.c:55 +#: lib/search/search.c:57 msgid "He&xadecimal" msgstr "" -#: lib/search/search.c:56 +#: lib/search/search.c:58 msgid "Wil&dcard search" msgstr "" -#: lib/skin/common.c:131 +#: lib/skin/common.c:133 #, c-format msgid "" "Unable to load '%s' skin.\n" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:141 +#: lib/skin/common.c:143 #, c-format msgid "" "Unable to parse '%s' skin.\n" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:153 +#: lib/skin/common.c:155 #, c-format msgid "" "Unable to use '%s' skin with true colors support:\n" @@ -165,7 +165,7 @@ msgid "" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:165 +#: lib/skin/common.c:167 #, c-format msgid "" "Unable to use '%s' skin with 256 colors support\n" @@ -173,19 +173,19 @@ msgid "" "Default skin has been loaded" msgstr "" -#: lib/tty/color-ncurses.c:244 +#: lib/tty/color-ncurses.c:247 msgid "True color not supported with ncurses." msgstr "" -#: lib/tty/color-slang.c:221 +#: lib/tty/color-slang.c:224 msgid "Your terminal doesn't even seem to support 256 colors." msgstr "" -#: lib/tty/color-slang.c:239 +#: lib/tty/color-slang.c:242 msgid "True color not supported in this slang version." msgstr "" -#: lib/tty/color-slang.c:250 +#: lib/tty/color-slang.c:253 msgid "Set COLORTERM=truecolor if your terminal really supports true colors." msgstr "" @@ -566,11 +566,11 @@ msgstr "" msgid "Shift" msgstr "" -#: lib/tty/tty.c:114 +#: lib/tty/tty.c:117 msgid "The TERM environment variable is unset!\n" msgstr "" -#: lib/tty/tty.c:206 +#: lib/tty/tty.c:209 msgid "Cannot check SIGWINCH pipe" msgstr "" @@ -595,133 +595,133 @@ msgid "" "Cannot configure read end of SIGWINCH pipe: %s (%d)\n" msgstr "" -#: lib/tty/tty-slang.c:296 +#: lib/tty/tty-slang.c:298 #, c-format msgid "" "Screen size %dx%d is not supported.\n" "Check the TERM environment variable.\n" msgstr "" -#: lib/util.c:349 +#: lib/util.c:351 msgid "B" msgstr "" -#: lib/util.c:354 +#: lib/util.c:356 msgid "kB" msgstr "" -#: lib/util.c:354 +#: lib/util.c:356 msgid "KiB" msgstr "" -#: lib/util.c:359 +#: lib/util.c:361 msgid "MB" msgstr "" -#: lib/util.c:359 +#: lib/util.c:361 msgid "MiB" msgstr "" -#: lib/util.c:364 +#: lib/util.c:366 msgid "GB" msgstr "" -#: lib/util.c:364 +#: lib/util.c:366 msgid "GiB" msgstr "" -#: lib/utilunix.c:513 +#: lib/utilunix.c:515 msgid "Cannot create pipe descriptor" msgstr "" -#: lib/utilunix.c:526 +#: lib/utilunix.c:528 msgid "Cannot create pipe streams" msgstr "" -#: lib/utilunix.c:605 +#: lib/utilunix.c:607 #, c-format msgid "" "Unexpected error in select() reading data from a child process:\n" "%s" msgstr "" -#: lib/utilunix.c:681 +#: lib/utilunix.c:683 msgid "Cannot close pipe descriptor (p == NULL)" msgstr "" -#: lib/utilunix.c:699 +#: lib/utilunix.c:701 #, c-format msgid "" "Unexpected error in waitpid():\n" "%s" msgstr "" -#: lib/vfs/direntry.c:272 +#: lib/vfs/direntry.c:274 #, c-format msgid "Directory cache expired for %s" msgstr "" -#: lib/vfs/direntry.c:710 +#: lib/vfs/direntry.c:712 #, c-format msgid "%s: %s: %s %3d%% (%lld) bytes transferred" msgstr "" -#: lib/vfs/direntry.c:713 +#: lib/vfs/direntry.c:715 #, c-format msgid "%s: %s: %s %lld bytes transferred" msgstr "" -#: lib/vfs/direntry.c:1371 +#: lib/vfs/direntry.c:1373 msgid "Starting linear transfer..." msgstr "" -#: lib/vfs/direntry.c:1470 +#: lib/vfs/direntry.c:1472 msgid "Getting file" msgstr "" -#: lib/vfs/interface.c:174 +#: lib/vfs/interface.c:177 msgid "Changes to file lost" msgstr "" -#: lib/vfs/interface.c:857 +#: lib/vfs/interface.c:862 #, c-format msgid "%s is not a directory\n" msgstr "" -#: lib/vfs/interface.c:859 +#: lib/vfs/interface.c:864 #, c-format msgid "Directory %s is not owned by you\n" msgstr "" -#: lib/vfs/interface.c:861 +#: lib/vfs/interface.c:866 #, c-format msgid "Cannot set correct permissions for directory %s\n" msgstr "" -#: lib/vfs/interface.c:866 +#: lib/vfs/interface.c:871 #, c-format msgid "Cannot create temporary directory %s: %s\n" msgstr "" -#: lib/vfs/interface.c:900 +#: lib/vfs/interface.c:905 #, c-format msgid "Temporary files will be created in %s\n" msgstr "" -#: lib/vfs/interface.c:906 +#: lib/vfs/interface.c:911 #, c-format msgid "Temporary files will not be created\n" msgstr "" -#: lib/vfs/interface.c:911 src/execute.c:337 +#: lib/vfs/interface.c:916 src/execute.c:339 msgid "Press any key to continue..." msgstr "" -#: lib/vfs/parse_ls_vga.c:874 +#: lib/vfs/parse_ls_vga.c:876 msgid "Cannot parse:" msgstr "" -#: lib/vfs/parse_ls_vga.c:877 +#: lib/vfs/parse_ls_vga.c:879 msgid "More parsing errors will be ignored." msgstr "" @@ -733,211 +733,211 @@ msgstr "" msgid "Password:" msgstr "" -#: lib/widget/dialog-switch.c:232 +#: lib/widget/dialog-switch.c:235 msgid "Screens" msgstr "" -#: lib/widget/history.c:214 lib/widget/history.c:229 +#: lib/widget/history.c:218 lib/widget/history.c:233 msgid "History" msgstr "" #. TRANSLATORS: no need to translate 'DialogTitle', it's just a context prefix -#: lib/widget/listbox.c:319 +#: lib/widget/listbox.c:323 msgid "DialogTitle|History cleanup" msgstr "" -#: lib/widget/listbox.c:320 +#: lib/widget/listbox.c:324 msgid "Do you want clean this history?" msgstr "" -#: lib/widget/listbox.c:321 src/diffviewer/ydiff.c:3092 src/editor/edit.c:360 -#: src/editor/editcmd.c:186 src/editor/editcmd.c:209 src/editor/editcmd.c:1527 -#: src/editor/editcmd.c:1533 src/filemanager/cmd.c:138 -#: src/filemanager/file.c:1011 src/filemanager/file.c:2020 -#: src/filemanager/filegui.c:480 src/filemanager/filemanager.c:1062 -#: src/filemanager/filemanager.c:1070 src/filemanager/hotlist.c:1162 -#: src/filemanager/hotlist.c:1179 src/filemanager/panel.c:2894 -#: src/filemanager/tree.c:829 src/subshell/common.c:1657 -#: src/vfs/sftpfs/connection.c:519 src/vfs/sftpfs/connection.c:531 -#: src/viewer/actions_cmd.c:643 src/viewer/actions_cmd.c:649 -#: src/viewer/search.c:450 +#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3095 src/editor/edit.c:370 +#: src/editor/editcmd.c:181 src/editor/editcmd.c:204 src/editor/editcmd.c:1523 +#: src/editor/editcmd.c:1529 src/filemanager/cmd.c:141 +#: src/filemanager/file.c:1013 src/filemanager/file.c:2021 +#: src/filemanager/filegui.c:482 src/filemanager/filemanager.c:1057 +#: src/filemanager/filemanager.c:1065 src/filemanager/hotlist.c:1164 +#: src/filemanager/hotlist.c:1181 src/filemanager/panel.c:2922 +#: src/filemanager/tree.c:829 src/subshell/common.c:1653 +#: src/vfs/sftpfs/connection.c:521 src/vfs/sftpfs/connection.c:533 +#: src/viewer/actions_cmd.c:645 src/viewer/actions_cmd.c:651 +#: src/viewer/search.c:452 msgid "&Yes" msgstr "" -#: lib/widget/listbox.c:321 src/diffviewer/ydiff.c:3092 src/editor/edit.c:360 -#: src/editor/editcmd.c:186 src/editor/editcmd.c:1527 src/editor/editcmd.c:1533 -#: src/filemanager/cmd.c:138 src/filemanager/file.c:1011 -#: src/filemanager/file.c:2020 src/filemanager/filegui.c:482 -#: src/filemanager/filemanager.c:1062 src/filemanager/filemanager.c:1070 -#: src/filemanager/hotlist.c:1162 src/filemanager/hotlist.c:1179 -#: src/filemanager/panel.c:2894 src/filemanager/tree.c:829 -#: src/subshell/common.c:1657 src/vfs/sftpfs/connection.c:519 -#: src/vfs/sftpfs/connection.c:531 src/viewer/actions_cmd.c:643 -#: src/viewer/actions_cmd.c:649 src/viewer/search.c:451 +#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3095 src/editor/edit.c:370 +#: src/editor/editcmd.c:181 src/editor/editcmd.c:1523 src/editor/editcmd.c:1529 +#: src/filemanager/cmd.c:141 src/filemanager/file.c:1013 +#: src/filemanager/file.c:2021 src/filemanager/filegui.c:484 +#: src/filemanager/filemanager.c:1057 src/filemanager/filemanager.c:1065 +#: src/filemanager/hotlist.c:1164 src/filemanager/hotlist.c:1181 +#: src/filemanager/panel.c:2922 src/filemanager/tree.c:829 +#: src/subshell/common.c:1653 src/vfs/sftpfs/connection.c:521 +#: src/vfs/sftpfs/connection.c:533 src/viewer/actions_cmd.c:645 +#: src/viewer/actions_cmd.c:651 src/viewer/search.c:453 msgid "&No" msgstr "" -#: lib/widget/quick.h:215 src/editor/editsearch.c:103 -#: src/editor/editsearch.c:1013 src/editor/editwidget.c:157 -#: src/filemanager/boxes.c:1291 src/filemanager/filegui.c:1384 -#: src/filemanager/find.c:603 src/filemanager/layout.c:508 src/main.c:411 +#: lib/widget/quick.h:215 src/editor/editsearch.c:105 +#: src/editor/editsearch.c:1015 src/editor/editwidget.c:157 +#: src/filemanager/boxes.c:1292 src/filemanager/filegui.c:1386 +#: src/filemanager/find.c:605 src/filemanager/layout.c:511 src/main.c:414 msgid "&OK" msgstr "" -#: lib/widget/quick.h:216 src/editor/editcmd.c:186 src/editor/editcmd.c:209 -#: src/editor/editcmd.c:380 src/editor/editcmd.c:524 src/editor/editcmd.c:944 -#: src/editor/editcmd.c:1021 src/editor/editcmd.c:1527 -#: src/editor/editcmd.c:2023 src/editor/editcmd.c:2052 -#: src/editor/editsearch.c:105 src/editor/editsearch.c:247 -#: src/editor/etags.c:373 src/editor/spell.c:767 src/filemanager/achown.c:87 -#: src/filemanager/achown.c:861 src/filemanager/achown.c:896 -#: src/filemanager/chattr.c:233 src/filemanager/chattr.c:1120 -#: src/filemanager/chmod.c:115 src/filemanager/chmod.c:438 -#: src/filemanager/chown.c:87 src/filemanager/chown.c:311 -#: src/filemanager/cmd.c:1021 src/filemanager/filegui.c:1388 -#: src/filemanager/find.c:603 src/filemanager/hotlist.c:183 -#: src/filemanager/hotlist.c:1016 src/filemanager/hotlist.c:1079 -#: src/filemanager/layout.c:509 src/filemanager/panelize.c:169 src/learn.c:258 -#: src/viewer/hex.c:429 +#: lib/widget/quick.h:216 src/editor/editcmd.c:181 src/editor/editcmd.c:204 +#: src/editor/editcmd.c:376 src/editor/editcmd.c:520 src/editor/editcmd.c:940 +#: src/editor/editcmd.c:1017 src/editor/editcmd.c:1523 +#: src/editor/editcmd.c:2019 src/editor/editcmd.c:2048 +#: src/editor/editsearch.c:107 src/editor/editsearch.c:249 +#: src/editor/etags.c:375 src/editor/spell.c:770 src/filemanager/achown.c:89 +#: src/filemanager/achown.c:863 src/filemanager/achown.c:900 +#: src/filemanager/chattr.c:235 src/filemanager/chattr.c:1124 +#: src/filemanager/chmod.c:117 src/filemanager/chmod.c:442 +#: src/filemanager/chown.c:88 src/filemanager/chown.c:314 +#: src/filemanager/cmd.c:1024 src/filemanager/filegui.c:1390 +#: src/filemanager/find.c:605 src/filemanager/hotlist.c:185 +#: src/filemanager/hotlist.c:1018 src/filemanager/hotlist.c:1081 +#: src/filemanager/layout.c:512 src/filemanager/panelize.c:172 src/learn.c:261 +#: src/viewer/hex.c:430 msgid "&Cancel" msgstr "" -#: lib/widget/wtools.c:168 +#: lib/widget/wtools.c:170 msgid "Background process:" msgstr "" -#: lib/widget/wtools.c:293 lib/widget/wtools.c:422 src/editor/edit.c:200 -#: src/editor/edit.c:221 src/editor/edit.c:372 src/editor/edit.c:1979 -#: src/editor/edit.c:1989 src/editor/editcmd.c:271 src/editor/editcmd.c:281 -#: src/editor/editcmd.c:324 src/editor/editcmd.c:1631 src/editor/spell.c:322 -#: src/editor/spell.c:558 src/editor/spell.c:566 -#: tests/src/execute__common.c:152 +#: lib/widget/wtools.c:295 lib/widget/wtools.c:424 src/editor/edit.c:210 +#: src/editor/edit.c:231 src/editor/edit.c:382 src/editor/edit.c:1990 +#: src/editor/edit.c:2000 src/editor/editcmd.c:266 src/editor/editcmd.c:276 +#: src/editor/editcmd.c:319 src/editor/editcmd.c:1627 src/editor/spell.c:325 +#: src/editor/spell.c:561 src/editor/spell.c:569 +#: tests/src/execute__common.c:151 #: tests/src/execute__execute_with_vfs_arg.c:152 msgid "Error" msgstr "" -#: lib/widget/wtools.c:456 +#: lib/widget/wtools.c:458 #, c-format msgid "%s (%d)" msgstr "" -#: lib/widget/wtools.c:702 src/filemanager/file.c:890 -#: src/filemanager/file.c:964 src/filemanager/file.c:966 -#: src/filemanager/file.c:1012 src/filemanager/file.c:3172 -#: src/filemanager/filegui.c:255 src/filemanager/filegui.c:504 +#: lib/widget/wtools.c:704 src/filemanager/file.c:892 +#: src/filemanager/file.c:966 src/filemanager/file.c:968 +#: src/filemanager/file.c:1014 src/filemanager/file.c:3173 +#: src/filemanager/filegui.c:257 src/filemanager/filegui.c:506 msgid "&Abort" msgstr "" -#: src/args.c:101 +#: src/args.c:102 msgid "Displays the current version" msgstr "" -#: src/args.c:109 +#: src/args.c:110 msgid "Print data directory" msgstr "" -#: src/args.c:117 +#: src/args.c:118 msgid "Print extended info about used data directories" msgstr "" -#: src/args.c:126 +#: src/args.c:127 msgid "Print configure options" msgstr "" -#: src/args.c:134 +#: src/args.c:135 msgid "Print last working directory to specified file" msgstr "" -#: src/args.c:135 src/args.c:160 src/args.c:169 src/args.c:253 +#: src/args.c:136 src/args.c:161 src/args.c:170 src/args.c:254 msgid "" msgstr "" -#: src/args.c:142 +#: src/args.c:143 msgid "Enables subshell support (default)" msgstr "" -#: src/args.c:149 +#: src/args.c:150 msgid "Disables subshell support" msgstr "" -#: src/args.c:159 +#: src/args.c:160 msgid "Log ftp dialog to specified file" msgstr "" -#: src/args.c:168 +#: src/args.c:169 msgid "Launches the file viewer on a file" msgstr "" -#: src/args.c:176 +#: src/args.c:177 msgid "Edit files" msgstr "" -#: src/args.c:177 +#: src/args.c:178 msgid " ..." msgstr "" -#: src/args.c:192 +#: src/args.c:193 msgid "Forces xterm features" msgstr "" -#: src/args.c:199 +#: src/args.c:200 msgid "Disable X11 support" msgstr "" -#: src/args.c:206 +#: src/args.c:207 msgid "Tries to use an old highlight mouse tracking" msgstr "" -#: src/args.c:213 +#: src/args.c:214 msgid "Disable mouse support in text version" msgstr "" -#: src/args.c:221 +#: src/args.c:222 msgid "Tries to use termcap instead of terminfo" msgstr "" -#: src/args.c:229 +#: src/args.c:230 msgid "To run on slow terminals" msgstr "" -#: src/args.c:236 +#: src/args.c:237 msgid "Use stickchars to draw" msgstr "" -#: src/args.c:244 +#: src/args.c:245 msgid "Resets soft keys on HP terminals" msgstr "" -#: src/args.c:252 +#: src/args.c:253 msgid "Load definitions of key bindings from specified file" msgstr "" -#: src/args.c:259 +#: src/args.c:260 msgid "Don't load definitions of key bindings from file, use defaults" msgstr "" -#: src/args.c:278 +#: src/args.c:279 msgid "Requests to run in black and white" msgstr "" -#: src/args.c:285 +#: src/args.c:286 msgid "Request to run in color mode" msgstr "" -#: src/args.c:292 +#: src/args.c:293 msgid "Specifies a color configuration" msgstr "" -#: src/args.c:293 src/args.c:300 +#: src/args.c:294 src/args.c:301 msgid "" msgstr "" -#: src/args.c:299 +#: src/args.c:300 msgid "Show mc with specified skin" msgstr "" #. TRANSLATORS: don't translate keywords -#: src/args.c:336 +#: src/args.c:337 msgid "" "--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" "\n" @@ -960,7 +960,7 @@ msgid "" msgstr "" #. TRANSLATORS: don't translate color names and attributes -#: src/args.c:353 +#: src/args.c:354 msgid "" "Standard Colors:\n" " black, gray, red, brightred, green, brightgreen, brown,\n" @@ -974,141 +974,141 @@ msgid "" " bold, italic, underline, reverse, blink; append more with '+'\n" msgstr "" -#: src/args.c:365 +#: src/args.c:366 msgid "Color options" msgstr "" -#: src/args.c:379 +#: src/args.c:380 msgid "[+lineno] file1[:lineno] [file2[:lineno]...]" msgstr "" -#: src/args.c:382 src/filemanager/file.c:172 +#: src/args.c:383 src/filemanager/file.c:172 msgid "file" msgstr "" -#: src/args.c:386 +#: src/args.c:387 msgid "file1 file2" msgstr "" -#: src/args.c:391 +#: src/args.c:392 msgid "[this_dir] [other_panel_dir]" msgstr "" -#: src/args.c:406 +#: src/args.c:407 msgid "" "\n" "Please send any bug reports (including the output of 'mc -V')\n" "as tickets at www.midnight-commander.org\n" msgstr "" -#: src/args.c:410 src/filemanager/filemanager.c:1752 src/textconf.c:142 +#: src/args.c:411 src/filemanager/filemanager.c:1747 src/textconf.c:144 #, c-format msgid "GNU Midnight Commander %s\n" msgstr "" -#: src/args.c:663 src/filemanager/boxes.c:693 +#: src/args.c:664 src/filemanager/boxes.c:694 msgid "Main options" msgstr "" -#: src/args.c:669 src/args.c:670 +#: src/args.c:670 src/args.c:671 msgid "Terminal options" msgstr "" -#: src/args.c:685 +#: src/args.c:686 msgid "Arguments parse error!" msgstr "" -#: src/args.c:795 +#: src/args.c:796 msgid "No arguments given to the viewer." msgstr "" -#: src/args.c:807 +#: src/args.c:808 msgid "Two files are required to invoke the diffviewer." msgstr "" -#: src/background.c:179 src/background.c:251 +#: src/background.c:182 src/background.c:254 msgid "Background protocol error" msgstr "" -#: src/background.c:179 +#: src/background.c:182 msgid "Reading failed" msgstr "" -#: src/background.c:219 src/filemanager/file.c:859 src/filemanager/file.c:959 +#: src/background.c:222 src/filemanager/file.c:861 src/filemanager/file.c:961 msgid "Background process error" msgstr "" -#: src/background.c:232 src/background.c:283 +#: src/background.c:235 src/background.c:286 msgid "Unknown error in child" msgstr "" -#: src/background.c:240 +#: src/background.c:243 msgid "Child died unexpectedly" msgstr "" -#: src/background.c:252 +#: src/background.c:255 msgid "" "Background process sent us a request for more arguments\n" "than we can handle." msgstr "" -#: src/diffviewer/internal.h:15 src/diffviewer/search.c:230 -#: src/editor/edit-impl.h:74 src/editor/edit-impl.h:75 src/viewer/search.c:482 -#: src/viewer/search.c:484 +#: src/diffviewer/internal.h:15 src/diffviewer/search.c:232 +#: src/editor/edit-impl.h:76 src/editor/edit-impl.h:77 src/viewer/search.c:484 +#: src/viewer/search.c:486 msgid "&Dismiss" msgstr "" -#: src/diffviewer/search.c:85 src/editor/editsearch.c:86 -#: src/editor/editsearch.c:164 src/viewer/dialogs.c:81 +#: src/diffviewer/search.c:87 src/editor/editsearch.c:88 +#: src/editor/editsearch.c:166 src/viewer/dialogs.c:81 msgid "Enter search string:" msgstr "" -#: src/diffviewer/search.c:92 src/editor/editsearch.c:94 -#: src/editor/editsearch.c:174 src/filemanager/boxes.c:686 -#: src/filemanager/boxes.c:893 src/filemanager/find.c:589 +#: src/diffviewer/search.c:94 src/editor/editsearch.c:96 +#: src/editor/editsearch.c:176 src/filemanager/boxes.c:687 +#: src/filemanager/boxes.c:894 src/filemanager/find.c:591 #: src/viewer/dialogs.c:89 msgid "Cas&e sensitive" msgstr "" -#: src/diffviewer/search.c:93 src/editor/editsearch.c:95 -#: src/editor/editsearch.c:175 src/viewer/dialogs.c:90 +#: src/diffviewer/search.c:95 src/editor/editsearch.c:97 +#: src/editor/editsearch.c:177 src/viewer/dialogs.c:90 msgid "&Backwards" msgstr "" -#: src/diffviewer/search.c:94 src/editor/editsearch.c:97 -#: src/editor/editsearch.c:177 src/filemanager/find.c:600 +#: src/diffviewer/search.c:96 src/editor/editsearch.c:99 +#: src/editor/editsearch.c:179 src/filemanager/find.c:602 #: src/viewer/dialogs.c:91 msgid "&Whole words" msgstr "" -#: src/diffviewer/search.c:96 src/editor/editsearch.c:99 -#: src/editor/editsearch.c:179 src/filemanager/find.c:587 +#: src/diffviewer/search.c:98 src/editor/editsearch.c:101 +#: src/editor/editsearch.c:181 src/filemanager/find.c:589 #: src/viewer/dialogs.c:93 msgid "&All charsets" msgstr "" -#: src/diffviewer/search.c:107 src/diffviewer/search.c:230 -#: src/diffviewer/search.c:243 src/diffviewer/search.c:276 -#: src/editor/editsearch.c:113 src/editor/editsearch.c:592 -#: src/editor/editsearch.c:618 src/editor/editsearch.c:647 -#: src/editor/editsearch.c:897 src/editor/editsearch.c:908 -#: src/viewer/dialogs.c:104 src/viewer/search.c:402 src/viewer/search.c:462 -#: src/viewer/search.c:482 src/viewer/search.c:484 +#: src/diffviewer/search.c:109 src/diffviewer/search.c:232 +#: src/diffviewer/search.c:245 src/diffviewer/search.c:278 +#: src/editor/editsearch.c:115 src/editor/editsearch.c:594 +#: src/editor/editsearch.c:620 src/editor/editsearch.c:649 +#: src/editor/editsearch.c:899 src/editor/editsearch.c:910 +#: src/viewer/dialogs.c:104 src/viewer/search.c:404 src/viewer/search.c:464 +#: src/viewer/search.c:484 src/viewer/search.c:486 msgid "Search" msgstr "" -#: src/diffviewer/search.c:243 src/diffviewer/search.c:276 +#: src/diffviewer/search.c:245 src/diffviewer/search.c:278 msgid "Search is disabled" msgstr "" -#: src/diffviewer/ydiff.c:178 +#: src/diffviewer/ydiff.c:181 #, c-format msgid "" "Cannot create temporary diff file\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2210 +#: src/diffviewer/ydiff.c:2213 #, c-format msgid "" "Cannot create backup file\n" @@ -1116,677 +1116,677 @@ msgid "" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2219 +#: src/diffviewer/ydiff.c:2222 #, c-format msgid "" "Cannot create temporary merge file\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2360 +#: src/diffviewer/ydiff.c:2363 msgid "&Fastest (Assume large files)" msgstr "" -#: src/diffviewer/ydiff.c:2361 +#: src/diffviewer/ydiff.c:2364 msgid "&Minimal (Find a smaller set of change)" msgstr "" -#: src/diffviewer/ydiff.c:2366 +#: src/diffviewer/ydiff.c:2369 msgid "Diff algorithm" msgstr "" -#: src/diffviewer/ydiff.c:2369 +#: src/diffviewer/ydiff.c:2372 msgid "Diff extra options" msgstr "" -#: src/diffviewer/ydiff.c:2370 +#: src/diffviewer/ydiff.c:2373 msgid "&Ignore case" msgstr "" -#: src/diffviewer/ydiff.c:2371 +#: src/diffviewer/ydiff.c:2374 msgid "Ignore tab &expansion" msgstr "" -#: src/diffviewer/ydiff.c:2372 +#: src/diffviewer/ydiff.c:2375 msgid "Ignore &space change" msgstr "" -#: src/diffviewer/ydiff.c:2373 +#: src/diffviewer/ydiff.c:2376 msgid "Ignore all &whitespace" msgstr "" -#: src/diffviewer/ydiff.c:2374 +#: src/diffviewer/ydiff.c:2377 msgid "Strip &trailing carriage return" msgstr "" -#: src/diffviewer/ydiff.c:2385 +#: src/diffviewer/ydiff.c:2388 msgid "Diff Options" msgstr "" -#: src/diffviewer/ydiff.c:2894 +#: src/diffviewer/ydiff.c:2897 msgid "Edit" msgstr "" -#: src/diffviewer/ydiff.c:2894 +#: src/diffviewer/ydiff.c:2897 msgid "Edit is disabled" msgstr "" -#: src/diffviewer/ydiff.c:2928 +#: src/diffviewer/ydiff.c:2931 msgid "Goto line (left)" msgstr "" -#: src/diffviewer/ydiff.c:2929 +#: src/diffviewer/ydiff.c:2932 msgid "Goto line (right)" msgstr "" -#: src/diffviewer/ydiff.c:2937 src/editor/editcmd.c:1714 +#: src/diffviewer/ydiff.c:2940 src/editor/editcmd.c:1710 msgid "Enter line:" msgstr "" -#: src/diffviewer/ydiff.c:2976 src/editor/editwidget.c:674 -#: src/filemanager/filemanager.c:1640 src/filemanager/tree.c:1172 -#: src/help.c:1163 src/viewer/display.c:87 +#: src/diffviewer/ydiff.c:2979 src/editor/editwidget.c:677 +#: src/filemanager/filemanager.c:1635 src/filemanager/tree.c:1172 +#: src/help.c:1164 src/viewer/display.c:90 msgid "ButtonBar|Help" msgstr "" -#: src/diffviewer/ydiff.c:2977 src/editor/editwidget.c:675 -#: src/viewer/display.c:99 +#: src/diffviewer/ydiff.c:2980 src/editor/editwidget.c:678 +#: src/viewer/display.c:102 msgid "ButtonBar|Save" msgstr "" -#: src/diffviewer/ydiff.c:2978 src/filemanager/filemanager.c:1643 -#: src/viewer/display.c:94 +#: src/diffviewer/ydiff.c:2981 src/filemanager/filemanager.c:1638 +#: src/viewer/display.c:97 msgid "ButtonBar|Edit" msgstr "" -#: src/diffviewer/ydiff.c:2979 +#: src/diffviewer/ydiff.c:2982 msgid "ButtonBar|Merge" msgstr "" -#: src/diffviewer/ydiff.c:2980 src/editor/editwidget.c:680 -#: src/viewer/display.c:109 +#: src/diffviewer/ydiff.c:2983 src/editor/editwidget.c:683 +#: src/viewer/display.c:112 msgid "ButtonBar|Search" msgstr "" -#: src/diffviewer/ydiff.c:2981 +#: src/diffviewer/ydiff.c:2984 msgid "ButtonBar|Options" msgstr "" -#: src/diffviewer/ydiff.c:2982 src/editor/editwidget.c:683 -#: src/filemanager/filemanager.c:1649 src/help.c:1172 src/viewer/display.c:118 -#: src/viewer/display.c:121 +#: src/diffviewer/ydiff.c:2985 src/editor/editwidget.c:686 +#: src/filemanager/filemanager.c:1644 src/help.c:1173 src/viewer/display.c:121 +#: src/viewer/display.c:124 msgid "ButtonBar|Quit" msgstr "" -#: src/diffviewer/ydiff.c:3089 src/editor/editcmd.c:1533 -#: src/viewer/actions_cmd.c:641 src/viewer/actions_cmd.c:647 +#: src/diffviewer/ydiff.c:3092 src/editor/editcmd.c:1529 +#: src/viewer/actions_cmd.c:643 src/viewer/actions_cmd.c:649 msgid "Quit" msgstr "" -#: src/diffviewer/ydiff.c:3090 +#: src/diffviewer/ydiff.c:3093 msgid "File(s) was modified. Save with exit?" msgstr "" -#: src/diffviewer/ydiff.c:3091 +#: src/diffviewer/ydiff.c:3094 msgid "" "Midnight Commander is being shut down.\n" "Save modified file(s)?" msgstr "" -#: src/diffviewer/ydiff.c:3424 src/diffviewer/ydiff.c:3427 +#: src/diffviewer/ydiff.c:3427 src/diffviewer/ydiff.c:3430 msgid "Diff:" msgstr "" -#: src/diffviewer/ydiff.c:3547 src/diffviewer/ydiff.c:3558 -#: src/diffviewer/ydiff.c:3578 src/diffviewer/ydiff.c:3595 +#: src/diffviewer/ydiff.c:3550 src/diffviewer/ydiff.c:3561 +#: src/diffviewer/ydiff.c:3581 src/diffviewer/ydiff.c:3598 #, c-format msgid "\"%s\" is a directory" msgstr "" -#: src/diffviewer/ydiff.c:3584 src/diffviewer/ydiff.c:3601 -#: src/filemanager/file.c:1827 src/viewer/mcviewer.c:352 +#: src/diffviewer/ydiff.c:3587 src/diffviewer/ydiff.c:3604 +#: src/filemanager/file.c:1829 src/viewer/mcviewer.c:354 #, c-format msgid "" "Cannot stat \"%s\"\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:3610 +#: src/diffviewer/ydiff.c:3613 msgid "Diff viewer: invalid mode" msgstr "" -#: src/diffviewer/ydiff.c:3639 +#: src/diffviewer/ydiff.c:3642 msgid "Two files are needed to compare" msgstr "" -#: src/editor/edit.c:156 +#: src/editor/edit.c:166 #, c-format msgid "Loading: %3d%%" msgstr "" -#: src/editor/edit.c:159 +#: src/editor/edit.c:169 msgid "Loading..." msgstr "" -#: src/editor/edit.c:199 src/editor/edit.c:312 +#: src/editor/edit.c:209 src/editor/edit.c:322 #, c-format msgid "Cannot open %s for reading" msgstr "" -#: src/editor/edit.c:209 +#: src/editor/edit.c:219 msgid "Load file" msgstr "" -#: src/editor/edit.c:220 +#: src/editor/edit.c:230 #, c-format msgid "Error reading %s" msgstr "" -#: src/editor/edit.c:324 +#: src/editor/edit.c:334 #, c-format msgid "Cannot get size/permissions for %s" msgstr "" -#: src/editor/edit.c:333 +#: src/editor/edit.c:343 #, c-format msgid "\"%s\" is not a regular file" msgstr "" -#: src/editor/edit.c:358 +#: src/editor/edit.c:368 #, c-format msgid "" "File \"%s\" is too large.\n" "Open it anyway?" msgstr "" -#: src/editor/edit.c:360 src/editor/editcmd.c:184 src/editor/editcmd.c:207 -#: src/editor/editcmd.c:378 src/editor/editcmd.c:522 src/editor/editcmd.c:943 -#: src/editor/editcmd.c:2020 src/editor/editcmd.c:2049 src/editor/etags.c:371 -#: src/execute.c:135 src/filemanager/ext.c:773 src/filemanager/file.c:2459 -#: src/filemanager/panel.c:4640 src/help.c:362 src/main.c:408 -#: src/subshell/common.c:1655 src/vfs/sftpfs/connection.c:519 -#: src/viewer/actions_cmd.c:443 +#: src/editor/edit.c:370 src/editor/editcmd.c:179 src/editor/editcmd.c:202 +#: src/editor/editcmd.c:374 src/editor/editcmd.c:518 src/editor/editcmd.c:939 +#: src/editor/editcmd.c:2016 src/editor/editcmd.c:2045 src/editor/etags.c:373 +#: src/execute.c:137 src/filemanager/ext.c:775 src/filemanager/file.c:2460 +#: src/filemanager/panel.c:4668 src/help.c:363 src/main.c:411 +#: src/subshell/common.c:1651 src/vfs/sftpfs/connection.c:521 +#: src/viewer/actions_cmd.c:445 msgid "Warning" msgstr "" -#: src/editor/edit.c:1978 +#: src/editor/edit.c:1989 #, c-format msgid "Error reading from pipe: %s" msgstr "" -#: src/editor/edit.c:1988 +#: src/editor/edit.c:1999 #, c-format msgid "Cannot open pipe for reading: %s" msgstr "" -#: src/editor/editcmd.c:185 +#: src/editor/editcmd.c:180 msgid "File has hard-links. Detach before saving?" msgstr "" -#: src/editor/editcmd.c:208 +#: src/editor/editcmd.c:203 msgid "The file has been modified in the meantime. Save anyway?" msgstr "" -#: src/editor/editcmd.c:270 +#: src/editor/editcmd.c:265 #, c-format msgid "Error writing to pipe: %s" msgstr "" -#: src/editor/editcmd.c:280 +#: src/editor/editcmd.c:275 #, c-format msgid "Cannot open pipe for writing: %s" msgstr "" -#: src/editor/editcmd.c:323 +#: src/editor/editcmd.c:318 #, c-format msgid "Cannot open file for writing: %s" msgstr "" -#: src/editor/editcmd.c:379 +#: src/editor/editcmd.c:375 msgid "The file you are saving does not end with a newline." msgstr "" -#: src/editor/editcmd.c:380 src/editor/editcmd.c:524 src/editor/editcmd.c:2022 -#: src/editor/editcmd.c:2051 src/editor/etags.c:373 +#: src/editor/editcmd.c:376 src/editor/editcmd.c:520 src/editor/editcmd.c:2018 +#: src/editor/editcmd.c:2047 src/editor/etags.c:375 msgid "C&ontinue" msgstr "" -#: src/editor/editcmd.c:393 +#: src/editor/editcmd.c:389 msgid "&Do not change" msgstr "" -#: src/editor/editcmd.c:394 +#: src/editor/editcmd.c:390 msgid "&Unix format (LF)" msgstr "" -#: src/editor/editcmd.c:395 +#: src/editor/editcmd.c:391 msgid "&Windows/DOS format (CR LF)" msgstr "" -#: src/editor/editcmd.c:396 +#: src/editor/editcmd.c:392 msgid "&Macintosh format (CR)" msgstr "" -#: src/editor/editcmd.c:401 src/editor/editcmd.c:1043 src/editor/editcmd.c:1755 -#: src/editor/editcmd.c:1786 src/filemanager/cmd.c:730 +#: src/editor/editcmd.c:397 src/editor/editcmd.c:1039 src/editor/editcmd.c:1751 +#: src/editor/editcmd.c:1782 src/filemanager/cmd.c:733 msgid "Enter file name:" msgstr "" -#: src/editor/editcmd.c:405 +#: src/editor/editcmd.c:401 msgid "Change line breaks to:" msgstr "" -#: src/editor/editcmd.c:415 +#: src/editor/editcmd.c:411 msgid "Save As" msgstr "" -#: src/editor/editcmd.c:842 +#: src/editor/editcmd.c:838 msgid "&Quick save" msgstr "" -#: src/editor/editcmd.c:843 +#: src/editor/editcmd.c:839 msgid "&Safe save" msgstr "" -#: src/editor/editcmd.c:844 +#: src/editor/editcmd.c:840 msgid "&Do backups with following extension:" msgstr "" -#: src/editor/editcmd.c:863 +#: src/editor/editcmd.c:859 msgid "Check &POSIX new line" msgstr "" -#: src/editor/editcmd.c:872 +#: src/editor/editcmd.c:868 msgid "Edit Save Mode" msgstr "" -#: src/editor/editcmd.c:926 src/editor/editcmd.c:985 +#: src/editor/editcmd.c:922 src/editor/editcmd.c:981 msgid "Save as" msgstr "" -#: src/editor/editcmd.c:928 +#: src/editor/editcmd.c:924 msgid "Cannot save: destination is not a regular file" msgstr "" -#: src/editor/editcmd.c:944 +#: src/editor/editcmd.c:940 msgid "A file already exists with this name" msgstr "" -#: src/editor/editcmd.c:944 +#: src/editor/editcmd.c:940 msgid "&Overwrite" msgstr "" -#: src/editor/editcmd.c:985 src/editor/editcmd.c:1765 +#: src/editor/editcmd.c:981 src/editor/editcmd.c:1761 msgid "Cannot save file" msgstr "" -#: src/editor/editcmd.c:1019 +#: src/editor/editcmd.c:1015 #, c-format msgid "Confirm save file: \"%s\"" msgstr "" -#: src/editor/editcmd.c:1021 src/viewer/hex.c:417 src/viewer/hex.c:429 +#: src/editor/editcmd.c:1017 src/viewer/hex.c:418 src/viewer/hex.c:430 msgid "Save file" msgstr "" -#: src/editor/editcmd.c:1021 src/editor/editmenu.c:78 src/learn.c:192 -#: src/learn.c:257 +#: src/editor/editcmd.c:1017 src/editor/editmenu.c:81 src/learn.c:195 +#: src/learn.c:260 msgid "&Save" msgstr "" -#: src/editor/editcmd.c:1043 +#: src/editor/editcmd.c:1039 msgid "Load" msgstr "" -#: src/editor/editcmd.c:1126 +#: src/editor/editcmd.c:1122 msgid "Syntax file edit" msgstr "" -#: src/editor/editcmd.c:1127 +#: src/editor/editcmd.c:1123 msgid "Which syntax file you want to edit?" msgstr "" -#: src/editor/editcmd.c:1128 src/editor/editcmd.c:1174 -#: src/filemanager/cmd.c:826 src/filemanager/cmd.c:867 -#: src/filemanager/cmd.c:925 +#: src/editor/editcmd.c:1124 src/editor/editcmd.c:1170 +#: src/filemanager/cmd.c:829 src/filemanager/cmd.c:870 +#: src/filemanager/cmd.c:928 msgid "&User" msgstr "" -#: src/editor/editcmd.c:1128 src/editor/editcmd.c:1174 +#: src/editor/editcmd.c:1124 src/editor/editcmd.c:1170 msgid "&System wide" msgstr "" -#: src/editor/editcmd.c:1172 src/filemanager/cmd.c:865 +#: src/editor/editcmd.c:1168 src/filemanager/cmd.c:868 msgid "Menu edit" msgstr "" -#: src/editor/editcmd.c:1173 src/filemanager/cmd.c:866 +#: src/editor/editcmd.c:1169 src/filemanager/cmd.c:869 msgid "Which menu file do you want to edit?" msgstr "" -#: src/editor/editcmd.c:1174 src/filemanager/cmd.c:867 +#: src/editor/editcmd.c:1170 src/filemanager/cmd.c:870 msgid "&Local" msgstr "" -#: src/editor/editcmd.c:1508 src/editor/editwidget.c:384 +#: src/editor/editcmd.c:1504 src/editor/editwidget.c:387 msgid "[NoName]" msgstr "" -#: src/editor/editcmd.c:1526 +#: src/editor/editcmd.c:1522 #, c-format msgid "" "File %s was modified.\n" "Save before close?" msgstr "" -#: src/editor/editcmd.c:1527 +#: src/editor/editcmd.c:1523 msgid "Close file" msgstr "" -#: src/editor/editcmd.c:1531 +#: src/editor/editcmd.c:1527 #, c-format msgid "" "Midnight Commander is being shut down.\n" "Save modified file %s?" msgstr "" -#: src/editor/editcmd.c:1631 +#: src/editor/editcmd.c:1627 msgid "This function is not implemented" msgstr "" -#: src/editor/editcmd.c:1646 +#: src/editor/editcmd.c:1642 msgid "Copy to clipboard" msgstr "" -#: src/editor/editcmd.c:1646 src/editor/editcmd.c:1670 +#: src/editor/editcmd.c:1642 src/editor/editcmd.c:1666 msgid "Unable to save to file" msgstr "" -#: src/editor/editcmd.c:1670 +#: src/editor/editcmd.c:1666 msgid "Cut to clipboard" msgstr "" -#: src/editor/editcmd.c:1714 +#: src/editor/editcmd.c:1710 msgid "Goto line" msgstr "" -#: src/editor/editcmd.c:1755 src/editor/editcmd.c:1765 +#: src/editor/editcmd.c:1751 src/editor/editcmd.c:1761 msgid "Save block" msgstr "" -#: src/editor/editcmd.c:1786 src/editor/editcmd.c:1801 +#: src/editor/editcmd.c:1782 src/editor/editcmd.c:1797 msgid "Insert file" msgstr "" -#: src/editor/editcmd.c:1801 +#: src/editor/editcmd.c:1797 msgid "Cannot insert file" msgstr "" -#: src/editor/editcmd.c:1822 +#: src/editor/editcmd.c:1818 msgid "Sort block" msgstr "" -#: src/editor/editcmd.c:1822 +#: src/editor/editcmd.c:1818 msgid "You must first highlight a block of text" msgstr "" -#: src/editor/editcmd.c:1830 +#: src/editor/editcmd.c:1826 msgid "Run sort" msgstr "" -#: src/editor/editcmd.c:1831 +#: src/editor/editcmd.c:1827 msgid "Enter sort options (see sort(1) manpage) separated by whitespace:" msgstr "" -#: src/editor/editcmd.c:1851 src/editor/editcmd.c:1858 +#: src/editor/editcmd.c:1847 src/editor/editcmd.c:1854 msgid "Sort" msgstr "" -#: src/editor/editcmd.c:1851 +#: src/editor/editcmd.c:1847 msgid "Cannot execute sort command" msgstr "" -#: src/editor/editcmd.c:1857 +#: src/editor/editcmd.c:1853 #, c-format msgid "Sort returned non-zero: %s" msgstr "" -#: src/editor/editcmd.c:1894 +#: src/editor/editcmd.c:1890 msgid "Paste output of external command" msgstr "" -#: src/editor/editcmd.c:1895 +#: src/editor/editcmd.c:1891 msgid "Enter shell command(s):" msgstr "" -#: src/editor/editcmd.c:1912 +#: src/editor/editcmd.c:1908 msgid "External command" msgstr "" -#: src/editor/editcmd.c:1912 +#: src/editor/editcmd.c:1908 msgid "Cannot execute command" msgstr "" -#: src/editor/editcmd.c:1957 +#: src/editor/editcmd.c:1953 msgid "mail -s -c " msgstr "" -#: src/editor/editcmd.c:1958 +#: src/editor/editcmd.c:1954 msgid "To" msgstr "" -#: src/editor/editcmd.c:1961 +#: src/editor/editcmd.c:1957 msgid "Subject" msgstr "" -#: src/editor/editcmd.c:1964 +#: src/editor/editcmd.c:1960 msgid "Copies to" msgstr "" -#: src/editor/editcmd.c:1975 +#: src/editor/editcmd.c:1971 msgid "Mail" msgstr "" -#: src/editor/editcmd.c:2009 +#: src/editor/editcmd.c:2005 msgid "Insert literal" msgstr "" -#: src/editor/editcmd.c:2010 +#: src/editor/editcmd.c:2006 msgid "Press any key:" msgstr "" -#: src/editor/editcmd.c:2021 src/editor/editcmd.c:2050 src/editor/etags.c:372 +#: src/editor/editcmd.c:2017 src/editor/editcmd.c:2046 src/editor/etags.c:374 msgid "" "Current text was modified without a file save.\n" "Continue discards these changes." msgstr "" -#: src/editor/editcmd.c:2103 +#: src/editor/editcmd.c:2099 msgid "Cancel" msgstr "" -#: src/editor/editcomplete.c:248 +#: src/editor/editcomplete.c:250 msgid "Collect completions" msgstr "" -#: src/editor/editdraw.c:263 src/editor/editwidget.c:333 +#: src/editor/editdraw.c:257 src/editor/editwidget.c:333 msgid "NoName" msgstr "" -#: src/editor/editmacros.c:151 +#: src/editor/editmacros.c:153 msgid "Save macro" msgstr "" -#: src/editor/editmacros.c:151 +#: src/editor/editmacros.c:153 msgid "Press the macro's new hotkey:" msgstr "" -#: src/editor/editmacros.c:319 src/editor/editmacros.c:322 +#: src/editor/editmacros.c:321 src/editor/editmacros.c:324 msgid "Delete macro" msgstr "" -#: src/editor/editmacros.c:319 +#: src/editor/editmacros.c:321 msgid "Press macro hotkey:" msgstr "" -#: src/editor/editmacros.c:322 +#: src/editor/editmacros.c:324 msgid "Macro not deleted" msgstr "" -#: src/editor/editmacros.c:334 +#: src/editor/editmacros.c:336 msgid "Repeat last commands" msgstr "" -#: src/editor/editmacros.c:334 +#: src/editor/editmacros.c:336 msgid "Repeat times:" msgstr "" -#: src/editor/editmenu.c:73 +#: src/editor/editmenu.c:76 msgid "&Open file..." msgstr "" -#: src/editor/editmenu.c:74 +#: src/editor/editmenu.c:77 msgid "&New" msgstr "" -#: src/editor/editmenu.c:75 +#: src/editor/editmenu.c:78 msgid "&Close" msgstr "" -#: src/editor/editmenu.c:76 +#: src/editor/editmenu.c:79 msgid "&History..." msgstr "" -#: src/editor/editmenu.c:79 +#: src/editor/editmenu.c:82 msgid "Save &as..." msgstr "" -#: src/editor/editmenu.c:81 +#: src/editor/editmenu.c:84 msgid "&Insert file..." msgstr "" -#: src/editor/editmenu.c:82 +#: src/editor/editmenu.c:85 msgid "Cop&y to file..." msgstr "" -#: src/editor/editmenu.c:84 +#: src/editor/editmenu.c:87 msgid "&User menu..." msgstr "" -#: src/editor/editmenu.c:86 +#: src/editor/editmenu.c:89 msgid "A&bout..." msgstr "" -#: src/editor/editmenu.c:88 src/filemanager/find.c:192 src/main.c:411 +#: src/editor/editmenu.c:91 src/filemanager/find.c:194 src/main.c:414 msgid "&Quit" msgstr "" -#: src/editor/editmenu.c:100 +#: src/editor/editmenu.c:103 msgid "&Undo" msgstr "" -#: src/editor/editmenu.c:101 +#: src/editor/editmenu.c:104 msgid "&Redo" msgstr "" -#: src/editor/editmenu.c:104 +#: src/editor/editmenu.c:106 msgid "&Toggle ins/overw" msgstr "" -#: src/editor/editmenu.c:106 +#: src/editor/editmenu.c:108 msgid "To&ggle mark" msgstr "" -#: src/editor/editmenu.c:107 +#: src/editor/editmenu.c:109 msgid "&Mark columns" msgstr "" -#: src/editor/editmenu.c:108 +#: src/editor/editmenu.c:110 msgid "Mark &all" msgstr "" -#: src/editor/editmenu.c:109 +#: src/editor/editmenu.c:111 msgid "Unmar&k" msgstr "" -#: src/editor/editmenu.c:111 +#: src/editor/editmenu.c:113 msgid "Cop&y" msgstr "" -#: src/editor/editmenu.c:112 +#: src/editor/editmenu.c:114 msgid "Mo&ve" msgstr "" -#: src/editor/editmenu.c:113 src/filemanager/file.c:2709 -#: src/filemanager/file.c:2765 src/filemanager/filemanager.c:251 +#: src/editor/editmenu.c:115 src/filemanager/file.c:2710 +#: src/filemanager/file.c:2766 src/filemanager/filemanager.c:252 msgid "&Delete" msgstr "" -#: src/editor/editmenu.c:115 +#: src/editor/editmenu.c:117 msgid "Co&py to clipfile" msgstr "" -#: src/editor/editmenu.c:116 +#: src/editor/editmenu.c:118 msgid "&Cut to clipfile" msgstr "" -#: src/editor/editmenu.c:117 +#: src/editor/editmenu.c:119 msgid "Pa&ste from clipfile" msgstr "" -#: src/editor/editmenu.c:119 +#: src/editor/editmenu.c:121 msgid "&Beginning" msgstr "" -#: src/editor/editmenu.c:120 +#: src/editor/editmenu.c:122 msgid "&End" msgstr "" -#: src/editor/editmenu.c:132 +#: src/editor/editmenu.c:134 msgid "&Search..." msgstr "" -#: src/editor/editmenu.c:133 +#: src/editor/editmenu.c:135 msgid "Search &again" msgstr "" -#: src/editor/editmenu.c:134 +#: src/editor/editmenu.c:136 msgid "&Replace..." msgstr "" -#: src/editor/editmenu.c:136 +#: src/editor/editmenu.c:138 msgid "&Toggle bookmark" msgstr "" -#: src/editor/editmenu.c:137 +#: src/editor/editmenu.c:139 msgid "&Next bookmark" msgstr "" -#: src/editor/editmenu.c:138 +#: src/editor/editmenu.c:140 msgid "&Prev bookmark" msgstr "" -#: src/editor/editmenu.c:139 +#: src/editor/editmenu.c:141 msgid "&Flush bookmarks" msgstr "" -#: src/editor/editmenu.c:151 +#: src/editor/editmenu.c:153 msgid "&Go to line..." msgstr "" -#: src/editor/editmenu.c:152 +#: src/editor/editmenu.c:154 msgid "&Toggle line state" msgstr "" -#: src/editor/editmenu.c:154 +#: src/editor/editmenu.c:156 msgid "Go to matching &bracket" msgstr "" -#: src/editor/editmenu.c:157 +#: src/editor/editmenu.c:158 msgid "Toggle s&yntax highlighting" msgstr "" -#: src/editor/editmenu.c:159 +#: src/editor/editmenu.c:160 msgid "&Find declaration" msgstr "" @@ -1794,292 +1794,292 @@ msgstr "" msgid "Back from &declaration" msgstr "" -#: src/editor/editmenu.c:163 +#: src/editor/editmenu.c:162 msgid "For&ward to declaration" msgstr "" -#: src/editor/editmenu.c:166 +#: src/editor/editmenu.c:165 msgid "Encod&ing..." msgstr "" -#: src/editor/editmenu.c:169 +#: src/editor/editmenu.c:168 msgid "&Refresh screen" msgstr "" -#: src/editor/editmenu.c:173 +#: src/editor/editmenu.c:172 msgid "&Start/Stop record macro" msgstr "" -#: src/editor/editmenu.c:174 +#: src/editor/editmenu.c:173 msgid "Delete macr&o..." msgstr "" -#: src/editor/editmenu.c:177 +#: src/editor/editmenu.c:176 msgid "Record/Repeat &actions" msgstr "" -#: src/editor/editmenu.c:182 +#: src/editor/editmenu.c:181 msgid "S&pell check" msgstr "" -#: src/editor/editmenu.c:185 +#: src/editor/editmenu.c:183 msgid "C&heck word" msgstr "" -#: src/editor/editmenu.c:188 +#: src/editor/editmenu.c:186 msgid "Change spelling &language..." msgstr "" -#: src/editor/editmenu.c:193 +#: src/editor/editmenu.c:191 msgid "&Mail..." msgstr "" -#: src/editor/editmenu.c:207 +#: src/editor/editmenu.c:204 msgid "Insert &literal..." msgstr "" -#: src/editor/editmenu.c:208 +#: src/editor/editmenu.c:205 msgid "Insert &date/time" msgstr "" -#: src/editor/editmenu.c:211 +#: src/editor/editmenu.c:207 msgid "&Format paragraph" msgstr "" -#: src/editor/editmenu.c:212 +#: src/editor/editmenu.c:208 msgid "&Sort..." msgstr "" -#: src/editor/editmenu.c:214 +#: src/editor/editmenu.c:210 msgid "&Paste output of..." msgstr "" -#: src/editor/editmenu.c:216 +#: src/editor/editmenu.c:211 msgid "&External formatter" msgstr "" -#: src/editor/editmenu.c:231 src/filemanager/hotlist.c:195 +#: src/editor/editmenu.c:226 src/filemanager/hotlist.c:197 msgid "&Move" msgstr "" -#: src/editor/editmenu.c:232 +#: src/editor/editmenu.c:227 msgid "&Resize" msgstr "" -#: src/editor/editmenu.c:234 +#: src/editor/editmenu.c:229 msgid "&Toggle fullscreen" msgstr "" -#: src/editor/editmenu.c:236 +#: src/editor/editmenu.c:231 msgid "&Next" msgstr "" -#: src/editor/editmenu.c:237 +#: src/editor/editmenu.c:232 msgid "&Previous" msgstr "" -#: src/editor/editmenu.c:238 +#: src/editor/editmenu.c:233 msgid "&List..." msgstr "" -#: src/editor/editmenu.c:250 +#: src/editor/editmenu.c:245 msgid "&General..." msgstr "" -#: src/editor/editmenu.c:251 +#: src/editor/editmenu.c:246 msgid "Save &mode..." msgstr "" -#: src/editor/editmenu.c:252 src/filemanager/filemanager.c:341 +#: src/editor/editmenu.c:247 src/filemanager/filemanager.c:336 msgid "Learn &keys..." msgstr "" -#: src/editor/editmenu.c:254 +#: src/editor/editmenu.c:249 msgid "Syntax &highlighting..." msgstr "" -#: src/editor/editmenu.c:256 +#: src/editor/editmenu.c:251 msgid "S&yntax file" msgstr "" -#: src/editor/editmenu.c:257 +#: src/editor/editmenu.c:252 msgid "&Menu file" msgstr "" -#: src/editor/editmenu.c:259 src/filemanager/filemanager.c:346 +#: src/editor/editmenu.c:254 src/filemanager/filemanager.c:341 msgid "&Save setup" msgstr "" -#: src/editor/editmenu.c:283 src/filemanager/filemanager.c:358 +#: src/editor/editmenu.c:278 src/filemanager/filemanager.c:353 msgid "&File" msgstr "" -#: src/editor/editmenu.c:285 src/filemanager/filemanager.c:234 +#: src/editor/editmenu.c:280 src/filemanager/filemanager.c:237 msgid "&Edit" msgstr "" -#: src/editor/editmenu.c:287 +#: src/editor/editmenu.c:282 msgid "&Search" msgstr "" -#: src/editor/editmenu.c:290 src/filemanager/filemanager.c:360 +#: src/editor/editmenu.c:285 src/filemanager/filemanager.c:355 msgid "&Command" msgstr "" -#: src/editor/editmenu.c:293 +#: src/editor/editmenu.c:287 msgid "For&mat" msgstr "" -#: src/editor/editmenu.c:295 +#: src/editor/editmenu.c:289 msgid "&Window" msgstr "" -#: src/editor/editmenu.c:297 src/filemanager/filemanager.c:362 +#: src/editor/editmenu.c:291 src/filemanager/filemanager.c:357 msgid "&Options" msgstr "" -#: src/editor/editoptions.c:53 +#: src/editor/editoptions.c:54 msgid "&None" msgstr "" -#: src/editor/editoptions.c:54 +#: src/editor/editoptions.c:55 msgid "&Dynamic paragraphing" msgstr "" -#: src/editor/editoptions.c:55 +#: src/editor/editoptions.c:56 msgid "Type &writer wrap" msgstr "" -#: src/editor/editoptions.c:149 +#: src/editor/editoptions.c:152 msgid "Wrap mode" msgstr "" -#: src/editor/editoptions.c:154 +#: src/editor/editoptions.c:157 msgid "Tabulation" msgstr "" -#: src/editor/editoptions.c:155 +#: src/editor/editoptions.c:158 msgid "&Fake half tabs" msgstr "" -#: src/editor/editoptions.c:156 +#: src/editor/editoptions.c:159 msgid "&Backspace through tabs" msgstr "" -#: src/editor/editoptions.c:158 +#: src/editor/editoptions.c:161 msgid "Fill tabs with &spaces" msgstr "" -#: src/editor/editoptions.c:160 +#: src/editor/editoptions.c:163 msgid "Tab spacing:" msgstr "" -#: src/editor/editoptions.c:164 src/filemanager/boxes.c:569 -#: src/filemanager/layout.c:501 +#: src/editor/editoptions.c:167 src/filemanager/boxes.c:571 +#: src/filemanager/layout.c:504 msgid "Other options" msgstr "" -#: src/editor/editoptions.c:165 +#: src/editor/editoptions.c:168 msgid "&Return does autoindent" msgstr "" -#: src/editor/editoptions.c:167 +#: src/editor/editoptions.c:169 msgid "Confir&m before saving" msgstr "" -#: src/editor/editoptions.c:168 +#: src/editor/editoptions.c:170 msgid "Save file &position" msgstr "" -#: src/editor/editoptions.c:169 +#: src/editor/editoptions.c:171 msgid "&Visible trailing spaces" msgstr "" -#: src/editor/editoptions.c:170 +#: src/editor/editoptions.c:172 msgid "Visible &tabs" msgstr "" -#: src/editor/editoptions.c:171 +#: src/editor/editoptions.c:173 msgid "Synta&x highlighting" msgstr "" -#: src/editor/editoptions.c:172 +#: src/editor/editoptions.c:174 msgid "C&ursor after inserted block" msgstr "" -#: src/editor/editoptions.c:173 +#: src/editor/editoptions.c:176 msgid "Pers&istent selection" msgstr "" -#: src/editor/editoptions.c:175 +#: src/editor/editoptions.c:177 msgid "Cursor be&yond end of line" msgstr "" -#: src/editor/editoptions.c:177 +#: src/editor/editoptions.c:178 msgid "&Group undo" msgstr "" -#: src/editor/editoptions.c:178 +#: src/editor/editoptions.c:179 msgid "Word wrap line length:" msgstr "" -#: src/editor/editoptions.c:190 +#: src/editor/editoptions.c:191 msgid "Editor options" msgstr "" -#: src/editor/editsearch.c:96 src/editor/editsearch.c:176 +#: src/editor/editsearch.c:98 src/editor/editsearch.c:178 msgid "In se&lection" msgstr "" -#: src/editor/editsearch.c:104 +#: src/editor/editsearch.c:106 msgid "&Find all" msgstr "" -#: src/editor/editsearch.c:167 +#: src/editor/editsearch.c:169 msgid "Enter replacement string:" msgstr "" -#: src/editor/editsearch.c:190 src/editor/editsearch.c:973 -#: src/editor/editsearch.c:1013 src/editor/editsearch.c:1025 +#: src/editor/editsearch.c:192 src/editor/editsearch.c:975 +#: src/editor/editsearch.c:1015 src/editor/editsearch.c:1027 msgid "Replace" msgstr "" -#: src/editor/editsearch.c:241 +#: src/editor/editsearch.c:243 msgid "Replace with:" msgstr "" -#: src/editor/editsearch.c:244 src/editor/spell.c:763 +#: src/editor/editsearch.c:246 src/editor/spell.c:766 msgid "&Replace" msgstr "" -#: src/editor/editsearch.c:245 src/filemanager/file.c:1011 -#: src/filemanager/filegui.c:493 +#: src/editor/editsearch.c:247 src/filemanager/file.c:1013 +#: src/filemanager/filegui.c:495 msgid "A&ll" msgstr "" -#: src/editor/editsearch.c:246 src/editor/spell.c:765 -#: src/filemanager/file.c:890 src/filemanager/file.c:963 -#: src/filemanager/file.c:966 src/filemanager/file.c:3173 -#: src/filemanager/filegui.c:252 +#: src/editor/editsearch.c:248 src/editor/spell.c:768 +#: src/filemanager/file.c:892 src/filemanager/file.c:965 +#: src/filemanager/file.c:968 src/filemanager/file.c:3174 +#: src/filemanager/filegui.c:254 msgid "&Skip" msgstr "" -#: src/editor/editsearch.c:255 +#: src/editor/editsearch.c:257 msgid "Confirm replace" msgstr "" -#: src/editor/editsearch.c:741 src/viewer/search.c:93 +#: src/editor/editsearch.c:743 src/viewer/search.c:95 #, c-format msgid "Searching %s: %3d%%" msgstr "" -#: src/editor/editsearch.c:744 src/filemanager/find.c:1349 -#: src/viewer/search.c:96 +#: src/editor/editsearch.c:746 src/filemanager/find.c:1358 +#: src/viewer/search.c:98 #, c-format msgid "Searching %s" msgstr "" -#: src/editor/editsearch.c:1025 +#: src/editor/editsearch.c:1027 #, c-format msgid "%ld replacements made" msgstr "" @@ -2102,185 +2102,185 @@ msgstr "" msgid "Open files" msgstr "" -#: src/editor/editwidget.c:388 src/editor/editwidget.c:391 +#: src/editor/editwidget.c:391 src/editor/editwidget.c:394 msgid "Edit: " msgstr "" -#: src/editor/editwidget.c:676 +#: src/editor/editwidget.c:679 msgid "ButtonBar|Mark" msgstr "" -#: src/editor/editwidget.c:677 +#: src/editor/editwidget.c:680 msgid "ButtonBar|Replac" msgstr "" -#: src/editor/editwidget.c:678 src/filemanager/filemanager.c:1644 +#: src/editor/editwidget.c:681 src/filemanager/filemanager.c:1639 #: src/filemanager/tree.c:1177 msgid "ButtonBar|Copy" msgstr "" -#: src/editor/editwidget.c:679 +#: src/editor/editwidget.c:682 msgid "ButtonBar|Move" msgstr "" -#: src/editor/editwidget.c:681 src/filemanager/filemanager.c:1647 +#: src/editor/editwidget.c:684 src/filemanager/filemanager.c:1642 msgid "ButtonBar|Delete" msgstr "" -#: src/editor/editwidget.c:682 src/filemanager/filemanager.c:1648 +#: src/editor/editwidget.c:685 src/filemanager/filemanager.c:1643 msgid "ButtonBar|PullDn" msgstr "" -#: src/editor/spell.c:105 +#: src/editor/spell.c:108 msgid "Breton" msgstr "" -#: src/editor/spell.c:106 +#: src/editor/spell.c:109 msgid "Czech" msgstr "" -#: src/editor/spell.c:107 +#: src/editor/spell.c:110 msgid "Welsh" msgstr "" -#: src/editor/spell.c:108 +#: src/editor/spell.c:111 msgid "Danish" msgstr "" -#: src/editor/spell.c:109 +#: src/editor/spell.c:112 msgid "German" msgstr "" -#: src/editor/spell.c:110 +#: src/editor/spell.c:113 msgid "Greek" msgstr "" -#: src/editor/spell.c:111 +#: src/editor/spell.c:114 msgid "English" msgstr "" -#: src/editor/spell.c:112 +#: src/editor/spell.c:115 msgid "British English" msgstr "" -#: src/editor/spell.c:113 +#: src/editor/spell.c:116 msgid "Canadian English" msgstr "" -#: src/editor/spell.c:114 +#: src/editor/spell.c:117 msgid "American English" msgstr "" -#: src/editor/spell.c:115 +#: src/editor/spell.c:118 msgid "Esperanto" msgstr "" -#: src/editor/spell.c:116 +#: src/editor/spell.c:119 msgid "Spanish" msgstr "" -#: src/editor/spell.c:117 +#: src/editor/spell.c:120 msgid "Faroese" msgstr "" -#: src/editor/spell.c:118 +#: src/editor/spell.c:121 msgid "French" msgstr "" -#: src/editor/spell.c:119 +#: src/editor/spell.c:122 msgid "Italian" msgstr "" -#: src/editor/spell.c:120 +#: src/editor/spell.c:123 msgid "Dutch" msgstr "" -#: src/editor/spell.c:121 +#: src/editor/spell.c:124 msgid "Norwegian" msgstr "" -#: src/editor/spell.c:122 +#: src/editor/spell.c:125 msgid "Polish" msgstr "" -#: src/editor/spell.c:123 +#: src/editor/spell.c:126 msgid "Portuguese" msgstr "" -#: src/editor/spell.c:124 +#: src/editor/spell.c:127 msgid "Romanian" msgstr "" -#: src/editor/spell.c:125 +#: src/editor/spell.c:128 msgid "Russian" msgstr "" -#: src/editor/spell.c:126 +#: src/editor/spell.c:129 msgid "Slovak" msgstr "" -#: src/editor/spell.c:127 +#: src/editor/spell.c:130 msgid "Swedish" msgstr "" -#: src/editor/spell.c:128 +#: src/editor/spell.c:131 msgid "Ukrainian" msgstr "" -#: src/editor/spell.c:762 +#: src/editor/spell.c:765 msgid "&Add word" msgstr "" -#: src/editor/spell.c:773 +#: src/editor/spell.c:776 msgid "Language" msgstr "" -#: src/editor/spell.c:774 +#: src/editor/spell.c:777 msgid "Misspelled" msgstr "" -#: src/editor/spell.c:781 +#: src/editor/spell.c:784 msgid "Check word" msgstr "" -#: src/editor/spell.c:787 +#: src/editor/spell.c:790 msgid "Suggest" msgstr "" -#: src/editor/spell.c:839 +#: src/editor/spell.c:842 msgid "Select language" msgstr "" -#: src/editor/syntax.c:1430 +#: src/editor/syntax.c:1428 msgid "Choose syntax highlighting" msgstr "" -#: src/editor/syntax.c:1431 +#: src/editor/syntax.c:1429 msgid "< Auto >" msgstr "" -#: src/editor/syntax.c:1432 +#: src/editor/syntax.c:1430 msgid "< Reload Current Syntax >" msgstr "" -#: src/editor/syntax.c:1534 src/editor/syntax.c:1540 +#: src/editor/syntax.c:1531 src/editor/syntax.c:1537 msgid "Load syntax file" msgstr "" -#: src/editor/syntax.c:1535 src/help.c:1097 src/usermenu.c:975 -#: src/usermenu.c:1015 +#: src/editor/syntax.c:1532 src/help.c:1098 src/usermenu.c:984 +#: src/usermenu.c:1024 #, c-format msgid "" "Cannot open file %s\n" "%s" msgstr "" -#: src/editor/syntax.c:1541 +#: src/editor/syntax.c:1538 #, c-format msgid "Error in file %s on line %d" msgstr "" -#: src/execute.c:136 +#: src/execute.c:138 msgid "" "The Commander can't change to the directory that\n" "the subshell claims you are in. Perhaps you have\n" @@ -2288,332 +2288,332 @@ msgid "" "extra access permissions with the \"su\" command?" msgstr "" -#: src/execute.c:196 src/filemanager/ext.c:667 +#: src/execute.c:198 src/filemanager/ext.c:669 #, c-format msgid "Cannot fetch a local copy of %s" msgstr "" -#: src/execute.c:437 src/filemanager/command.c:125 +#: src/execute.c:439 src/filemanager/command.c:127 msgid "The shell is already running a command" msgstr "" -#: src/execute.c:464 +#: src/execute.c:466 msgid "" "Not an xterm or Linux console;\n" "the subshell cannot be toggled." msgstr "" -#: src/execute.c:503 +#: src/execute.c:505 msgid "Type 'exit' to return to the Midnight Commander" msgstr "" -#: src/filemanager/achown.c:84 src/filemanager/chattr.c:228 -#: src/filemanager/chmod.c:110 src/filemanager/chown.c:83 +#: src/filemanager/achown.c:86 src/filemanager/chattr.c:230 +#: src/filemanager/chmod.c:112 src/filemanager/chown.c:84 msgid "Set &all" msgstr "" -#: src/filemanager/achown.c:85 +#: src/filemanager/achown.c:87 msgid "S&kip" msgstr "" -#: src/filemanager/achown.c:86 src/filemanager/chattr.c:232 -#: src/filemanager/chmod.c:114 src/filemanager/chown.c:86 +#: src/filemanager/achown.c:88 src/filemanager/chattr.c:234 +#: src/filemanager/chmod.c:116 src/filemanager/chown.c:87 msgid "&Set" msgstr "" -#: src/filemanager/achown.c:285 src/filemanager/achown.c:292 -#: src/filemanager/achown.c:544 +#: src/filemanager/achown.c:287 src/filemanager/achown.c:294 +#: src/filemanager/achown.c:546 msgid "owner" msgstr "" -#: src/filemanager/achown.c:287 src/filemanager/achown.c:294 -#: src/filemanager/achown.c:549 +#: src/filemanager/achown.c:289 src/filemanager/achown.c:296 +#: src/filemanager/achown.c:551 msgid "group" msgstr "" -#: src/filemanager/achown.c:289 +#: src/filemanager/achown.c:291 msgid "other" msgstr "" -#: src/filemanager/achown.c:297 +#: src/filemanager/achown.c:299 msgid "Flag" msgstr "" -#: src/filemanager/achown.c:307 +#: src/filemanager/achown.c:309 #, c-format msgid "Permissions (octal): %o" msgstr "" -#: src/filemanager/achown.c:750 +#: src/filemanager/achown.c:752 msgid "Chown advanced command" msgstr "" -#: src/filemanager/achown.c:858 src/filemanager/achown.c:1053 -#: src/filemanager/chmod.c:434 src/filemanager/chmod.c:581 +#: src/filemanager/achown.c:860 src/filemanager/achown.c:1061 +#: src/filemanager/chmod.c:439 src/filemanager/chmod.c:585 #, c-format msgid "" "Cannot chmod \"%s\"\n" "%s" msgstr "" -#: src/filemanager/achown.c:860 src/filemanager/achown.c:895 -#: src/filemanager/chattr.c:1119 src/filemanager/chmod.c:437 -#: src/filemanager/chown.c:310 src/vfs/sftpfs/connection.c:519 -#: src/vfs/sftpfs/connection.c:531 +#: src/filemanager/achown.c:862 src/filemanager/achown.c:899 +#: src/filemanager/chattr.c:1123 src/filemanager/chmod.c:441 +#: src/filemanager/chown.c:313 src/vfs/sftpfs/connection.c:521 +#: src/vfs/sftpfs/connection.c:533 msgid "&Ignore" msgstr "" -#: src/filemanager/achown.c:860 src/filemanager/achown.c:895 -#: src/filemanager/chattr.c:1119 src/filemanager/chmod.c:437 -#: src/filemanager/chown.c:310 +#: src/filemanager/achown.c:862 src/filemanager/achown.c:899 +#: src/filemanager/chattr.c:1123 src/filemanager/chmod.c:441 +#: src/filemanager/chown.c:313 msgid "Ignore &all" msgstr "" -#: src/filemanager/achown.c:860 src/filemanager/achown.c:895 -#: src/filemanager/chattr.c:1119 src/filemanager/chmod.c:437 -#: src/filemanager/chown.c:310 src/filemanager/file.c:963 src/viewer/hex.c:429 +#: src/filemanager/achown.c:862 src/filemanager/achown.c:899 +#: src/filemanager/chattr.c:1123 src/filemanager/chmod.c:441 +#: src/filemanager/chown.c:313 src/filemanager/file.c:965 src/viewer/hex.c:430 msgid "&Retry" msgstr "" -#: src/filemanager/achown.c:893 src/filemanager/achown.c:1059 -#: src/filemanager/chown.c:307 src/filemanager/chown.c:475 +#: src/filemanager/achown.c:897 src/filemanager/achown.c:1065 +#: src/filemanager/chown.c:311 src/filemanager/chown.c:478 #, c-format msgid "" "Cannot chown \"%s\"\n" "%s" msgstr "" -#: src/filemanager/boxes.c:178 +#: src/filemanager/boxes.c:180 msgid "< Default >" msgstr "" -#: src/filemanager/boxes.c:222 +#: src/filemanager/boxes.c:224 msgid "Skins" msgstr "" -#: src/filemanager/boxes.c:380 src/filemanager/boxes.c:1016 -#: src/selcodepage.c:101 +#: src/filemanager/boxes.c:382 src/filemanager/boxes.c:1017 +#: src/selcodepage.c:103 msgid "Other 8 bit" msgstr "" -#: src/filemanager/boxes.c:466 +#: src/filemanager/boxes.c:468 msgid "Running" msgstr "" -#: src/filemanager/boxes.c:467 src/filemanager/find.c:1621 +#: src/filemanager/boxes.c:469 src/filemanager/find.c:1630 msgid "Stopped" msgstr "" -#: src/filemanager/boxes.c:534 +#: src/filemanager/boxes.c:536 msgid "&Never" msgstr "" -#: src/filemanager/boxes.c:535 +#: src/filemanager/boxes.c:537 msgid "On dum&b terminals" msgstr "" -#: src/filemanager/boxes.c:536 +#: src/filemanager/boxes.c:538 msgid "Alwa&ys" msgstr "" -#: src/filemanager/boxes.c:550 +#: src/filemanager/boxes.c:552 msgid "File operations" msgstr "" -#: src/filemanager/boxes.c:551 +#: src/filemanager/boxes.c:553 msgid "&Verbose operation" msgstr "" -#: src/filemanager/boxes.c:552 +#: src/filemanager/boxes.c:554 msgid "Compute tota&ls" msgstr "" -#: src/filemanager/boxes.c:553 +#: src/filemanager/boxes.c:555 msgid "Classic pro&gressbar" msgstr "" -#: src/filemanager/boxes.c:554 +#: src/filemanager/boxes.c:556 msgid "Mkdi&r autoname" msgstr "" -#: src/filemanager/boxes.c:555 +#: src/filemanager/boxes.c:557 msgid "&Preallocate space" msgstr "" -#: src/filemanager/boxes.c:558 +#: src/filemanager/boxes.c:560 msgid "Esc key mode" msgstr "" -#: src/filemanager/boxes.c:559 +#: src/filemanager/boxes.c:561 msgid "S&ingle press" msgstr "" -#: src/filemanager/boxes.c:560 +#: src/filemanager/boxes.c:562 msgid "Timeout:" msgstr "" -#: src/filemanager/boxes.c:565 +#: src/filemanager/boxes.c:567 msgid "Pause after run" msgstr "" -#: src/filemanager/boxes.c:570 +#: src/filemanager/boxes.c:572 msgid "Use internal edi&t" msgstr "" -#: src/filemanager/boxes.c:571 +#: src/filemanager/boxes.c:573 msgid "Use internal vie&w" msgstr "" -#: src/filemanager/boxes.c:572 +#: src/filemanager/boxes.c:574 msgid "A&sk new file name" msgstr "" -#: src/filemanager/boxes.c:574 +#: src/filemanager/boxes.c:576 msgid "Auto m&enus" msgstr "" -#: src/filemanager/boxes.c:575 +#: src/filemanager/boxes.c:577 msgid "&Drop down menus" msgstr "" -#: src/filemanager/boxes.c:576 +#: src/filemanager/boxes.c:578 msgid "S&hell patterns" msgstr "" -#: src/filemanager/boxes.c:577 +#: src/filemanager/boxes.c:579 msgid "Co&mplete: show all" msgstr "" -#: src/filemanager/boxes.c:579 +#: src/filemanager/boxes.c:581 msgid "Rotating d&ash" msgstr "" -#: src/filemanager/boxes.c:580 +#: src/filemanager/boxes.c:582 msgid "Cd follows lin&ks" msgstr "" -#: src/filemanager/boxes.c:581 +#: src/filemanager/boxes.c:583 msgid "Sa&fe delete" msgstr "" -#: src/filemanager/boxes.c:582 +#: src/filemanager/boxes.c:584 msgid "Safe overwrite" msgstr "" -#: src/filemanager/boxes.c:583 +#: src/filemanager/boxes.c:585 msgid "A&uto save setup" msgstr "" -#: src/filemanager/boxes.c:596 +#: src/filemanager/boxes.c:598 msgid "Configure options" msgstr "" -#: src/filemanager/boxes.c:640 +#: src/filemanager/boxes.c:642 msgid "Skin:" msgstr "" -#: src/filemanager/boxes.c:646 +#: src/filemanager/boxes.c:648 msgid "&Shadows" msgstr "" -#: src/filemanager/boxes.c:655 +#: src/filemanager/boxes.c:657 msgid "Appearance" msgstr "" -#: src/filemanager/boxes.c:685 +#: src/filemanager/boxes.c:686 msgid "Case &insensitive" msgstr "" -#: src/filemanager/boxes.c:687 +#: src/filemanager/boxes.c:688 msgid "Use panel sort mo&de" msgstr "" -#: src/filemanager/boxes.c:694 +#: src/filemanager/boxes.c:695 msgid "Show mi&ni-status" msgstr "" -#: src/filemanager/boxes.c:695 +#: src/filemanager/boxes.c:696 msgid "Use SI si&ze units" msgstr "" -#: src/filemanager/boxes.c:696 +#: src/filemanager/boxes.c:697 msgid "Mi&x all files" msgstr "" -#: src/filemanager/boxes.c:697 +#: src/filemanager/boxes.c:698 msgid "Show &backup files" msgstr "" -#: src/filemanager/boxes.c:698 +#: src/filemanager/boxes.c:699 msgid "Show &hidden files" msgstr "" -#: src/filemanager/boxes.c:699 +#: src/filemanager/boxes.c:700 msgid "&Fast dir reload" msgstr "" -#: src/filemanager/boxes.c:700 +#: src/filemanager/boxes.c:701 msgid "Ma&rk moves down" msgstr "" -#: src/filemanager/boxes.c:701 +#: src/filemanager/boxes.c:702 msgid "Re&verse files only" msgstr "" -#: src/filemanager/boxes.c:703 +#: src/filemanager/boxes.c:704 msgid "Simple s&wap" msgstr "" -#: src/filemanager/boxes.c:704 +#: src/filemanager/boxes.c:705 msgid "A&uto save panels setup" msgstr "" -#: src/filemanager/boxes.c:711 +#: src/filemanager/boxes.c:712 msgid "Navigation" msgstr "" -#: src/filemanager/boxes.c:712 +#: src/filemanager/boxes.c:713 msgid "L&ynx-like motion" msgstr "" -#: src/filemanager/boxes.c:714 +#: src/filemanager/boxes.c:715 msgid "Pa&ge scrolling" msgstr "" -#: src/filemanager/boxes.c:715 +#: src/filemanager/boxes.c:716 msgid "Center &scrolling" msgstr "" -#: src/filemanager/boxes.c:716 +#: src/filemanager/boxes.c:717 msgid "&Mouse page scrolling" msgstr "" -#: src/filemanager/boxes.c:719 +#: src/filemanager/boxes.c:720 msgid "File highlight" msgstr "" -#: src/filemanager/boxes.c:720 +#: src/filemanager/boxes.c:721 msgid "File &types" msgstr "" -#: src/filemanager/boxes.c:721 +#: src/filemanager/boxes.c:722 msgid "&Permissions" msgstr "" -#: src/filemanager/boxes.c:723 +#: src/filemanager/boxes.c:724 msgid "Quick search" msgstr "" -#: src/filemanager/boxes.c:736 +#: src/filemanager/boxes.c:737 msgid "Panel options" msgstr "" -#: src/filemanager/boxes.c:748 src/filemanager/info.c:86 -#: src/vfs/sftpfs/connection.c:378 +#: src/filemanager/boxes.c:749 src/filemanager/info.c:86 +#: src/vfs/sftpfs/connection.c:380 msgid "Information" msgstr "" -#: src/filemanager/boxes.c:749 +#: src/filemanager/boxes.c:750 msgid "" "Using the fast reload option may not reflect the exact\n" "directory contents. In this case you'll need to do a\n" @@ -2621,176 +2621,176 @@ msgid "" "the details." msgstr "" -#: src/filemanager/boxes.c:783 +#: src/filemanager/boxes.c:784 msgid "&Full file list" msgstr "" -#: src/filemanager/boxes.c:784 +#: src/filemanager/boxes.c:785 msgid "&Brief file list:" msgstr "" -#: src/filemanager/boxes.c:785 +#: src/filemanager/boxes.c:786 msgid "&Long file list" msgstr "" -#: src/filemanager/boxes.c:786 +#: src/filemanager/boxes.c:787 msgid "&User defined:" msgstr "" -#: src/filemanager/boxes.c:795 +#: src/filemanager/boxes.c:796 msgid "columns" msgstr "" -#: src/filemanager/boxes.c:802 +#: src/filemanager/boxes.c:803 msgid "User &mini status" msgstr "" -#: src/filemanager/boxes.c:813 +#: src/filemanager/boxes.c:814 msgid "Listing format" msgstr "" -#: src/filemanager/boxes.c:892 +#: src/filemanager/boxes.c:893 msgid "Executable &first" msgstr "" -#: src/filemanager/boxes.c:894 +#: src/filemanager/boxes.c:895 msgid "&Reverse" msgstr "" -#: src/filemanager/boxes.c:904 +#: src/filemanager/boxes.c:905 msgid "Sort order" msgstr "" #. TRANSLATORS: no need to translate 'Confirmation', it's just a context prefix -#: src/filemanager/boxes.c:928 +#: src/filemanager/boxes.c:929 msgid "Confirmation|&Delete" msgstr "" -#: src/filemanager/boxes.c:929 +#: src/filemanager/boxes.c:930 msgid "Confirmation|O&verwrite" msgstr "" -#: src/filemanager/boxes.c:930 +#: src/filemanager/boxes.c:931 msgid "Confirmation|&Execute" msgstr "" -#: src/filemanager/boxes.c:931 +#: src/filemanager/boxes.c:932 msgid "Confirmation|E&xit" msgstr "" -#: src/filemanager/boxes.c:932 +#: src/filemanager/boxes.c:933 msgid "Confirmation|Di&rectory hotlist delete" msgstr "" -#: src/filemanager/boxes.c:934 +#: src/filemanager/boxes.c:935 msgid "Confirmation|&History cleanup" msgstr "" -#: src/filemanager/boxes.c:944 src/filemanager/cmd.c:137 +#: src/filemanager/boxes.c:945 src/filemanager/cmd.c:140 msgid "Confirmation" msgstr "" -#: src/filemanager/boxes.c:961 +#: src/filemanager/boxes.c:962 msgid "&UTF-8 output" msgstr "" -#: src/filemanager/boxes.c:962 +#: src/filemanager/boxes.c:963 msgid "&Full 8 bits output" msgstr "" -#: src/filemanager/boxes.c:963 +#: src/filemanager/boxes.c:964 msgid "&ISO 8859-1" msgstr "" -#: src/filemanager/boxes.c:964 +#: src/filemanager/boxes.c:965 msgid "7 &bits" msgstr "" -#: src/filemanager/boxes.c:971 src/filemanager/boxes.c:1030 +#: src/filemanager/boxes.c:972 src/filemanager/boxes.c:1031 msgid "F&ull 8 bits input" msgstr "" -#: src/filemanager/boxes.c:980 src/filemanager/boxes.c:1039 +#: src/filemanager/boxes.c:981 src/filemanager/boxes.c:1040 msgid "Display bits" msgstr "" -#: src/filemanager/boxes.c:1025 +#: src/filemanager/boxes.c:1026 msgid "Input / display codepage:" msgstr "" -#: src/filemanager/boxes.c:1089 src/filemanager/tree.c:1127 +#: src/filemanager/boxes.c:1090 src/filemanager/tree.c:1127 msgid "Directory tree" msgstr "" -#: src/filemanager/boxes.c:1139 +#: src/filemanager/boxes.c:1140 msgid "Timeout for freeing VFSs (sec):" msgstr "" -#: src/filemanager/boxes.c:1144 +#: src/filemanager/boxes.c:1145 msgid "FTP anonymous password:" msgstr "" -#: src/filemanager/boxes.c:1147 +#: src/filemanager/boxes.c:1148 msgid "FTP directory cache timeout (sec):" msgstr "" -#: src/filemanager/boxes.c:1150 +#: src/filemanager/boxes.c:1151 msgid "&Always use ftp proxy:" msgstr "" -#: src/filemanager/boxes.c:1154 +#: src/filemanager/boxes.c:1155 msgid "&Use ~/.netrc" msgstr "" -#: src/filemanager/boxes.c:1155 +#: src/filemanager/boxes.c:1156 msgid "Use &passive mode" msgstr "" -#: src/filemanager/boxes.c:1156 +#: src/filemanager/boxes.c:1157 msgid "Use passive mode over pro&xy" msgstr "" -#: src/filemanager/boxes.c:1167 +#: src/filemanager/boxes.c:1168 msgid "Virtual File System Setting" msgstr "" -#: src/filemanager/boxes.c:1222 +#: src/filemanager/boxes.c:1223 msgid "cd" msgstr "" -#: src/filemanager/boxes.c:1230 +#: src/filemanager/boxes.c:1231 msgid "Quick cd" msgstr "" -#: src/filemanager/boxes.c:1245 +#: src/filemanager/boxes.c:1246 msgid "Existing filename (filename symlink will point to):" msgstr "" -#: src/filemanager/boxes.c:1249 +#: src/filemanager/boxes.c:1250 msgid "Symbolic link filename:" msgstr "" -#: src/filemanager/boxes.c:1260 +#: src/filemanager/boxes.c:1261 msgid "Symbolic link" msgstr "" -#: src/filemanager/boxes.c:1288 +#: src/filemanager/boxes.c:1289 msgid "&Stop" msgstr "" -#: src/filemanager/boxes.c:1289 +#: src/filemanager/boxes.c:1290 msgid "&Resume" msgstr "" -#: src/filemanager/boxes.c:1290 +#: src/filemanager/boxes.c:1291 msgid "&Kill" msgstr "" -#: src/filemanager/boxes.c:1320 +#: src/filemanager/boxes.c:1321 msgid "Background jobs" msgstr "" -#: src/filemanager/cd.c:287 src/filemanager/panel.c:3746 +#: src/filemanager/cd.c:289 src/filemanager/panel.c:3774 #: src/filemanager/tree.c:596 #, c-format msgid "" @@ -2798,454 +2798,450 @@ msgid "" "%s" msgstr "" -#: src/filemanager/chattr.c:141 +#: src/filemanager/chattr.c:143 msgid "Secure deletion" msgstr "" -#: src/filemanager/chattr.c:142 +#: src/filemanager/chattr.c:144 msgid "Undelete" msgstr "" -#: src/filemanager/chattr.c:143 +#: src/filemanager/chattr.c:145 msgid "Synchronous updates" msgstr "" -#: src/filemanager/chattr.c:144 +#: src/filemanager/chattr.c:146 msgid "Synchronous directory updates" msgstr "" -#: src/filemanager/chattr.c:145 +#: src/filemanager/chattr.c:147 msgid "Immutable" msgstr "" -#: src/filemanager/chattr.c:146 +#: src/filemanager/chattr.c:148 msgid "Append only" msgstr "" -#: src/filemanager/chattr.c:147 +#: src/filemanager/chattr.c:149 msgid "No dump" msgstr "" -#: src/filemanager/chattr.c:148 +#: src/filemanager/chattr.c:150 msgid "No update atime" msgstr "" -#: src/filemanager/chattr.c:149 +#: src/filemanager/chattr.c:151 msgid "Compress" msgstr "" -#: src/filemanager/chattr.c:153 +#: src/filemanager/chattr.c:155 msgid "Compressed clusters" msgstr "" -#: src/filemanager/chattr.c:158 +#: src/filemanager/chattr.c:160 msgid "Compressed dirty file" msgstr "" -#: src/filemanager/chattr.c:163 +#: src/filemanager/chattr.c:165 msgid "Compression raw access" msgstr "" -#: src/filemanager/chattr.c:166 +#: src/filemanager/chattr.c:168 msgid "Encrypted inode" msgstr "" -#: src/filemanager/chattr.c:168 +#: src/filemanager/chattr.c:170 msgid "Journaled data" msgstr "" -#: src/filemanager/chattr.c:169 +#: src/filemanager/chattr.c:171 msgid "Indexed directory" msgstr "" -#: src/filemanager/chattr.c:170 +#: src/filemanager/chattr.c:172 msgid "No tail merging" msgstr "" -#: src/filemanager/chattr.c:171 +#: src/filemanager/chattr.c:173 msgid "Top of directory hierarchies" msgstr "" -#: src/filemanager/chattr.c:172 +#: src/filemanager/chattr.c:174 msgid "Inode uses extents" msgstr "" -#: src/filemanager/chattr.c:176 +#: src/filemanager/chattr.c:178 msgid "Huge_file" msgstr "" -#: src/filemanager/chattr.c:178 +#: src/filemanager/chattr.c:180 msgid "No COW" msgstr "" -#: src/filemanager/chattr.c:182 +#: src/filemanager/chattr.c:184 msgid "Direct access for files" msgstr "" -#: src/filemanager/chattr.c:187 +#: src/filemanager/chattr.c:189 msgid "Casefolded file" msgstr "" -#: src/filemanager/chattr.c:190 +#: src/filemanager/chattr.c:192 msgid "Inode has inline data" msgstr "" -#: src/filemanager/chattr.c:196 +#: src/filemanager/chattr.c:198 msgid "Project hierarchy" msgstr "" -#: src/filemanager/chattr.c:203 +#: src/filemanager/chattr.c:205 msgid "Verity protected inode" msgstr "" -#: src/filemanager/chattr.c:229 src/filemanager/chmod.c:111 +#: src/filemanager/chattr.c:231 src/filemanager/chmod.c:113 msgid "&Marked all" msgstr "" -#: src/filemanager/chattr.c:230 src/filemanager/chmod.c:112 +#: src/filemanager/chattr.c:232 src/filemanager/chmod.c:114 msgid "S&et marked" msgstr "" -#: src/filemanager/chattr.c:231 src/filemanager/chmod.c:113 +#: src/filemanager/chattr.c:233 src/filemanager/chmod.c:115 msgid "C&lear marked" msgstr "" -#: src/filemanager/chattr.c:1001 +#: src/filemanager/chattr.c:1003 msgid "Chattr command" msgstr "" -#: src/filemanager/chattr.c:1116 src/filemanager/chattr.c:1273 +#: src/filemanager/chattr.c:1121 src/filemanager/chattr.c:1268 #, c-format msgid "" "Cannot chattr \"%s\"\n" "%s" msgstr "" -#: src/filemanager/chattr.c:1229 -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - -#: src/filemanager/chattr.c:1248 +#: src/filemanager/chattr.c:1243 #, c-format msgid "" "Cannot get flags of \"%s\"\n" "%s" msgstr "" -#: src/filemanager/chmod.c:74 +#: src/filemanager/chmod.c:76 msgid "set &user ID on execution" msgstr "" -#: src/filemanager/chmod.c:75 +#: src/filemanager/chmod.c:77 msgid "set &group ID on execution" msgstr "" -#: src/filemanager/chmod.c:76 +#: src/filemanager/chmod.c:78 msgid "stick&y bit" msgstr "" -#: src/filemanager/chmod.c:77 +#: src/filemanager/chmod.c:79 msgid "&read by owner" msgstr "" -#: src/filemanager/chmod.c:78 +#: src/filemanager/chmod.c:80 msgid "&write by owner" msgstr "" -#: src/filemanager/chmod.c:79 +#: src/filemanager/chmod.c:81 msgid "e&xecute/search by owner" msgstr "" -#: src/filemanager/chmod.c:80 +#: src/filemanager/chmod.c:82 msgid "rea&d by group" msgstr "" -#: src/filemanager/chmod.c:81 +#: src/filemanager/chmod.c:83 msgid "write by grou&p" msgstr "" -#: src/filemanager/chmod.c:82 +#: src/filemanager/chmod.c:84 msgid "execu&te/search by group" msgstr "" -#: src/filemanager/chmod.c:83 +#: src/filemanager/chmod.c:85 msgid "read &by others" msgstr "" -#: src/filemanager/chmod.c:84 +#: src/filemanager/chmod.c:86 msgid "wr&ite by others" msgstr "" -#: src/filemanager/chmod.c:85 +#: src/filemanager/chmod.c:87 msgid "execute/searc&h by others" msgstr "" -#: src/filemanager/chmod.c:92 +#: src/filemanager/chmod.c:94 msgid "Name:" msgstr "" -#: src/filemanager/chmod.c:93 +#: src/filemanager/chmod.c:95 msgid "Permissions (octal):" msgstr "" -#: src/filemanager/chmod.c:94 +#: src/filemanager/chmod.c:96 msgid "Owner name:" msgstr "" -#: src/filemanager/chmod.c:95 +#: src/filemanager/chmod.c:97 msgid "Group name:" msgstr "" -#: src/filemanager/chmod.c:335 +#: src/filemanager/chmod.c:337 msgid "Chmod command" msgstr "" -#: src/filemanager/chmod.c:341 src/filemanager/chown.c:166 -#: src/filemanager/panel.c:266 +#: src/filemanager/chmod.c:343 src/filemanager/chown.c:167 +#: src/filemanager/panel.c:264 msgid "Permission" msgstr "" -#: src/filemanager/chmod.c:350 src/filemanager/chown.c:233 +#: src/filemanager/chmod.c:352 src/filemanager/chown.c:234 msgid "File" msgstr "" -#: src/filemanager/chown.c:84 +#: src/filemanager/chown.c:85 msgid "Set &groups" msgstr "" -#: src/filemanager/chown.c:85 +#: src/filemanager/chown.c:86 msgid "Set &users" msgstr "" -#: src/filemanager/chown.c:158 +#: src/filemanager/chown.c:159 msgid "Name" msgstr "" -#: src/filemanager/chown.c:160 +#: src/filemanager/chown.c:161 msgid "Owner name" msgstr "" -#: src/filemanager/chown.c:162 src/filemanager/chown.c:222 +#: src/filemanager/chown.c:163 src/filemanager/chown.c:223 msgid "Group name" msgstr "" -#: src/filemanager/chown.c:164 +#: src/filemanager/chown.c:165 msgid "Size" msgstr "" -#: src/filemanager/chown.c:205 +#: src/filemanager/chown.c:206 msgid "Chown command" msgstr "" -#: src/filemanager/chown.c:211 +#: src/filemanager/chown.c:212 msgid "User name" msgstr "" -#: src/filemanager/chown.c:215 +#: src/filemanager/chown.c:216 msgid "" msgstr "" -#: src/filemanager/chown.c:226 +#: src/filemanager/chown.c:227 msgid "" msgstr "" -#: src/filemanager/cmd.c:118 +#: src/filemanager/cmd.c:121 msgid "Enter machine name (F1 for details):" msgstr "" -#: src/filemanager/cmd.c:137 +#: src/filemanager/cmd.c:140 msgid "Files tagged, want to cd?" msgstr "" -#: src/filemanager/cmd.c:143 src/filemanager/cmd.c:1004 -#: src/filemanager/panel.c:2872 src/filemanager/panel.c:3451 +#: src/filemanager/cmd.c:146 src/filemanager/cmd.c:1007 +#: src/filemanager/panel.c:2900 src/filemanager/panel.c:3479 msgid "Cannot change directory" msgstr "" -#: src/filemanager/cmd.c:334 +#: src/filemanager/cmd.c:337 #, c-format msgid "Link %s to:" msgstr "" -#: src/filemanager/cmd.c:336 +#: src/filemanager/cmd.c:339 msgid "Link" msgstr "" -#: src/filemanager/cmd.c:345 +#: src/filemanager/cmd.c:348 #, c-format msgid "link: %s" msgstr "" -#: src/filemanager/cmd.c:384 +#: src/filemanager/cmd.c:387 #, c-format msgid "symlink: %s" msgstr "" -#: src/filemanager/cmd.c:444 src/filemanager/panel.c:4904 +#: src/filemanager/cmd.c:447 src/filemanager/panel.c:4932 #, c-format msgid "Cannot chdir to \"%s\"" msgstr "" -#: src/filemanager/cmd.c:607 +#: src/filemanager/cmd.c:610 msgid "View file" msgstr "" -#: src/filemanager/cmd.c:607 +#: src/filemanager/cmd.c:610 msgid "Filename:" msgstr "" -#: src/filemanager/cmd.c:641 +#: src/filemanager/cmd.c:644 msgid "Filtered view" msgstr "" -#: src/filemanager/cmd.c:642 +#: src/filemanager/cmd.c:645 msgid "Filter command and arguments:" msgstr "" -#: src/filemanager/cmd.c:730 +#: src/filemanager/cmd.c:733 msgid "Edit file" msgstr "" -#: src/filemanager/cmd.c:762 +#: src/filemanager/cmd.c:765 msgid "Create a new Directory" msgstr "" -#: src/filemanager/cmd.c:763 +#: src/filemanager/cmd.c:766 msgid "Enter directory name:" msgstr "" -#: src/filemanager/cmd.c:824 +#: src/filemanager/cmd.c:827 msgid "Extension file edit" msgstr "" -#: src/filemanager/cmd.c:825 +#: src/filemanager/cmd.c:828 msgid "Which extension file you want to edit?" msgstr "" -#: src/filemanager/cmd.c:826 src/filemanager/cmd.c:867 -#: src/filemanager/cmd.c:925 +#: src/filemanager/cmd.c:829 src/filemanager/cmd.c:870 +#: src/filemanager/cmd.c:928 msgid "&System Wide" msgstr "" -#: src/filemanager/cmd.c:923 +#: src/filemanager/cmd.c:926 msgid "Highlighting groups file edit" msgstr "" -#: src/filemanager/cmd.c:924 +#: src/filemanager/cmd.c:927 msgid "Which highlighting file you want to edit?" msgstr "" -#: src/filemanager/cmd.c:1019 +#: src/filemanager/cmd.c:1022 msgid "Compare directories" msgstr "" -#: src/filemanager/cmd.c:1020 +#: src/filemanager/cmd.c:1023 msgid "Select compare method:" msgstr "" -#: src/filemanager/cmd.c:1021 +#: src/filemanager/cmd.c:1024 msgid "&Quick" msgstr "" -#: src/filemanager/cmd.c:1021 +#: src/filemanager/cmd.c:1024 msgid "&Size only" msgstr "" -#: src/filemanager/cmd.c:1021 +#: src/filemanager/cmd.c:1024 msgid "&Thorough" msgstr "" -#: src/filemanager/cmd.c:1035 +#: src/filemanager/cmd.c:1038 msgid "" "Both panels should be in the listing mode\n" "to use this command" msgstr "" -#: src/filemanager/cmd.c:1093 +#: src/filemanager/cmd.c:1096 #, c-format msgid "'%s' is not a symbolic link" msgstr "" -#: src/filemanager/cmd.c:1106 +#: src/filemanager/cmd.c:1109 #, c-format msgid "Symlink '%s' points to:" msgstr "" -#: src/filemanager/cmd.c:1108 +#: src/filemanager/cmd.c:1111 msgid "Edit symlink" msgstr "" -#: src/filemanager/cmd.c:1121 +#: src/filemanager/cmd.c:1124 #, c-format msgid "edit symlink, unable to remove %s: %s" msgstr "" -#: src/filemanager/cmd.c:1129 +#: src/filemanager/cmd.c:1132 #, c-format msgid "edit symlink: %s" msgstr "" -#: src/filemanager/cmd.c:1174 +#: src/filemanager/cmd.c:1177 msgid "FTP to machine" msgstr "" -#: src/filemanager/cmd.c:1185 +#: src/filemanager/cmd.c:1188 msgid "SFTP to machine" msgstr "" -#: src/filemanager/cmd.c:1197 +#: src/filemanager/cmd.c:1200 msgid "Shell link to machine" msgstr "" -#: src/filemanager/cmd.c:1209 +#: src/filemanager/cmd.c:1212 msgid "Undelete files on an ext2 file system" msgstr "" -#: src/filemanager/cmd.c:1210 +#: src/filemanager/cmd.c:1213 msgid "" "Enter device (without /dev/) to undelete\n" "files on: (F1 for details)" msgstr "" -#: src/filemanager/cmd.c:1268 src/filemanager/cmd.c:1302 -#: src/filemanager/file.c:770 +#: src/filemanager/cmd.c:1271 src/filemanager/cmd.c:1305 +#: src/filemanager/file.c:772 msgid "Directory scanning" msgstr "" -#: src/filemanager/cmd.c:1348 src/filemanager/cmd.c:1350 +#: src/filemanager/cmd.c:1351 src/filemanager/cmd.c:1353 msgid "Setup" msgstr "" -#: src/filemanager/cmd.c:1348 +#: src/filemanager/cmd.c:1351 #, c-format msgid "Setup saved to %s" msgstr "" -#: src/filemanager/cmd.c:1350 +#: src/filemanager/cmd.c:1353 #, c-format msgid "Unable to save setup to %s" msgstr "" -#: src/filemanager/command.c:117 src/usermenu.c:964 +#: src/filemanager/command.c:119 src/usermenu.c:973 msgid "Cannot execute commands on non-local filesystems" msgstr "" -#: src/filemanager/ext.c:255 src/usermenu.c:477 +#: src/filemanager/ext.c:257 src/usermenu.c:484 msgid "Parameter" msgstr "" -#: src/filemanager/ext.c:467 src/usermenu.c:448 +#: src/filemanager/ext.c:469 src/usermenu.c:455 #, c-format msgid "" "Cannot create temporary command file\n" "%s" msgstr "" -#: src/filemanager/ext.c:738 +#: src/filemanager/ext.c:740 msgid "Pipe failed" msgstr "" -#: src/filemanager/ext.c:774 +#: src/filemanager/ext.c:776 #, c-format msgid "" "You have an outdated %s file.\n" @@ -3253,7 +3249,7 @@ msgid "" "Please copy your modifications of the old file to the new one." msgstr "" -#: src/filemanager/ext.c:825 +#: src/filemanager/ext.c:827 #, c-format msgid "" "The format of the\n" @@ -3263,7 +3259,7 @@ msgid "" "Please fetch a fresh copy from the Midnight Commander package." msgstr "" -#: src/filemanager/ext.c:840 +#: src/filemanager/ext.c:842 #, c-format msgid "" "The format of the\n" @@ -3274,8 +3270,8 @@ msgid "" "or use that file as an example of how to write it." msgstr "" -#: src/filemanager/file.c:95 src/filemanager/file.c:2707 -#: src/filemanager/file.c:2764 src/filemanager/tree.c:719 +#: src/filemanager/file.c:95 src/filemanager/file.c:2708 +#: src/filemanager/file.c:2765 src/filemanager/tree.c:719 msgid "DialogTitle|Copy" msgstr "" @@ -3283,8 +3279,8 @@ msgstr "" msgid "DialogTitle|Move" msgstr "" -#: src/filemanager/file.c:97 src/filemanager/hotlist.c:1161 -#: src/filemanager/hotlist.c:1178 src/filemanager/tree.c:829 +#: src/filemanager/file.c:97 src/filemanager/hotlist.c:1163 +#: src/filemanager/hotlist.c:1180 src/filemanager/tree.c:829 msgid "DialogTitle|Delete" msgstr "" @@ -3331,76 +3327,76 @@ msgstr "" msgid " with source mask:" msgstr "" -#: src/filemanager/file.c:414 +#: src/filemanager/file.c:416 #, c-format msgid "" "Cannot stat hardlink source file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:434 +#: src/filemanager/file.c:436 #, c-format msgid "" "Cannot create target hardlink \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:470 +#: src/filemanager/file.c:472 #, c-format msgid "Cannot create target hardlink \"%s\"" msgstr "" -#: src/filemanager/file.c:534 +#: src/filemanager/file.c:536 #, c-format msgid "" "Cannot read source link \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:548 +#: src/filemanager/file.c:550 msgid "" "Cannot make stable symlinks across non-local filesystems:\n" "\n" "Option Stable Symlinks will be disabled" msgstr "" -#: src/filemanager/file.c:617 +#: src/filemanager/file.c:619 #, c-format msgid "" "Cannot create target symlink \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:929 -#, c-format -msgid "" -"\"%s\"\n" -"and\n" -"\"%s\"\n" -"are the same directory" -msgstr "" - #: src/filemanager/file.c:931 #, c-format msgid "" "\"%s\"\n" "and\n" "\"%s\"\n" +"are the same directory" +msgstr "" + +#: src/filemanager/file.c:933 +#, c-format +msgid "" +"\"%s\"\n" +"and\n" +"\"%s\"\n" "are the same file" msgstr "" -#: src/filemanager/file.c:963 src/filemanager/file.c:966 +#: src/filemanager/file.c:965 src/filemanager/file.c:968 msgid "Ski&p all" msgstr "" -#: src/filemanager/file.c:1003 +#: src/filemanager/file.c:1005 #, c-format msgid "" "Directory \"%s\" not empty.\n" "Delete it recursively?" msgstr "" -#: src/filemanager/file.c:1004 +#: src/filemanager/file.c:1006 #, c-format msgid "" "Background process:\n" @@ -3408,201 +3404,201 @@ msgid "" "Delete it recursively?" msgstr "" -#: src/filemanager/file.c:1012 src/filemanager/filegui.c:497 +#: src/filemanager/file.c:1014 src/filemanager/filegui.c:499 msgid "Non&e" msgstr "" -#: src/filemanager/file.c:1206 +#: src/filemanager/file.c:1208 #, c-format msgid "" "Cannot remove file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:1264 +#: src/filemanager/file.c:1266 #, c-format msgid "" "Cannot stat file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:1280 +#: src/filemanager/file.c:1282 #, c-format msgid "Cannot overwrite directory \"%s\"" msgstr "" -#: src/filemanager/file.c:1335 +#: src/filemanager/file.c:1337 #, c-format msgid "" "Cannot move file \"%s\" to \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:1441 +#: src/filemanager/file.c:1443 #, c-format msgid "" "Cannot remove directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:1691 src/filemanager/file.c:2309 +#: src/filemanager/file.c:1693 src/filemanager/file.c:2310 #, c-format msgid "" "Cannot overwrite directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:1693 +#: src/filemanager/file.c:1695 #, c-format msgid "" "Cannot overwrite file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:1714 +#: src/filemanager/file.c:1716 #, c-format msgid "" "Cannot move directory \"%s\" to \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:1816 +#: src/filemanager/file.c:1818 msgid "Cannot operate on \"..\"!" msgstr "" -#: src/filemanager/file.c:2328 +#: src/filemanager/file.c:2329 #, c-format msgid "" "Cannot stat source file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2397 +#: src/filemanager/file.c:2398 #, c-format msgid "" "Cannot create special file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2409 src/filemanager/file.c:2777 +#: src/filemanager/file.c:2410 src/filemanager/file.c:2778 #, c-format msgid "" "Cannot chown target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2424 src/filemanager/file.c:2793 +#: src/filemanager/file.c:2425 src/filemanager/file.c:2794 #, c-format msgid "" "Cannot chmod target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2446 +#: src/filemanager/file.c:2447 #, c-format msgid "" "Cannot open source file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2459 +#: src/filemanager/file.c:2460 msgid "Reget failed, about to overwrite file" msgstr "" -#: src/filemanager/file.c:2470 +#: src/filemanager/file.c:2471 #, c-format msgid "" "Cannot fstat source file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2502 +#: src/filemanager/file.c:2503 #, c-format msgid "" "Cannot create target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2534 +#: src/filemanager/file.c:2535 #, c-format msgid "" "Cannot fstat target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2555 +#: src/filemanager/file.c:2556 #, c-format msgid "" "Cannot preallocate space for target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2614 +#: src/filemanager/file.c:2615 #, c-format msgid "" "Cannot read source file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2653 +#: src/filemanager/file.c:2654 #, c-format msgid "" "Cannot write target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2687 +#: src/filemanager/file.c:2688 msgid "(stalled)" msgstr "" -#: src/filemanager/file.c:2708 src/filemanager/file.c:2764 +#: src/filemanager/file.c:2709 src/filemanager/file.c:2765 msgid "Incomplete file was retrieved" msgstr "" -#: src/filemanager/file.c:2709 src/filemanager/file.c:2765 +#: src/filemanager/file.c:2710 src/filemanager/file.c:2766 msgid "&Keep" msgstr "" -#: src/filemanager/file.c:2709 +#: src/filemanager/file.c:2710 msgid "&Continue copy" msgstr "" -#: src/filemanager/file.c:2740 +#: src/filemanager/file.c:2741 #, c-format msgid "" "Cannot close source file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2752 +#: src/filemanager/file.c:2753 #, c-format msgid "" "Cannot close target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2858 +#: src/filemanager/file.c:2859 #, c-format msgid "" "Cannot stat source directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2902 +#: src/filemanager/file.c:2903 #, c-format msgid "" "Source \"%s\" is not a directory\n" "%s" msgstr "" -#: src/filemanager/file.c:2914 +#: src/filemanager/file.c:2915 #, c-format msgid "" "Cannot copy cyclic symbolic link\n" "\"%s\"" msgstr "" -#: src/filemanager/file.c:2953 src/filemanager/file.c:3450 +#: src/filemanager/file.c:2954 src/filemanager/file.c:3446 #: src/filemanager/tree.c:776 #, c-format msgid "" @@ -3610,341 +3606,341 @@ msgid "" "%s" msgstr "" -#: src/filemanager/file.c:2986 +#: src/filemanager/file.c:2987 #, c-format msgid "" "Cannot create target directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:3010 +#: src/filemanager/file.c:3011 #, c-format msgid "" "Cannot chown target directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:3217 +#: src/filemanager/file.c:3218 #, c-format msgid "Directories: %zu, total size: %s" msgstr "" -#: src/filemanager/file.c:3366 +#: src/filemanager/file.c:3364 msgid "Sorry, I could not put the job in background" msgstr "" -#: src/filemanager/filegui.c:253 src/filemanager/find.c:190 +#: src/filemanager/filegui.c:255 src/filemanager/find.c:192 msgid "S&uspend" msgstr "" -#: src/filemanager/filegui.c:254 src/filemanager/find.c:191 +#: src/filemanager/filegui.c:256 src/filemanager/find.c:193 msgid "Con&tinue" msgstr "" -#: src/filemanager/filegui.c:344 +#: src/filemanager/filegui.c:346 #, c-format msgid "%d:%02d:%02d" msgstr "" -#: src/filemanager/filegui.c:363 +#: src/filemanager/filegui.c:365 #, c-format msgid "ETA %s" msgstr "" -#: src/filemanager/filegui.c:372 +#: src/filemanager/filegui.c:374 #, c-format msgid "%.2f MB/s" msgstr "" -#: src/filemanager/filegui.c:374 +#: src/filemanager/filegui.c:376 #, c-format msgid "%.2f KB/s" msgstr "" -#: src/filemanager/filegui.c:376 +#: src/filemanager/filegui.c:378 #, c-format msgid "%ld B/s" msgstr "" -#: src/filemanager/filegui.c:461 +#: src/filemanager/filegui.c:463 msgid "New :" msgstr "" -#: src/filemanager/filegui.c:469 +#: src/filemanager/filegui.c:471 msgid "Existing:" msgstr "" -#: src/filemanager/filegui.c:478 +#: src/filemanager/filegui.c:480 msgid "Overwrite this file?" msgstr "" -#: src/filemanager/filegui.c:484 src/filemanager/hotlist.c:191 +#: src/filemanager/filegui.c:486 src/filemanager/hotlist.c:193 msgid "A&ppend" msgstr "" -#: src/filemanager/filegui.c:486 +#: src/filemanager/filegui.c:488 msgid "&Reget" msgstr "" -#: src/filemanager/filegui.c:489 +#: src/filemanager/filegui.c:491 msgid "Overwrite all files?" msgstr "" -#: src/filemanager/filegui.c:491 +#: src/filemanager/filegui.c:493 msgid "Don't overwrite with &zero length file" msgstr "" -#: src/filemanager/filegui.c:495 +#: src/filemanager/filegui.c:497 msgid "&Older" msgstr "" -#: src/filemanager/filegui.c:499 +#: src/filemanager/filegui.c:501 msgid "S&maller" msgstr "" -#: src/filemanager/filegui.c:501 +#: src/filemanager/filegui.c:503 msgid "&Size differs" msgstr "" -#: src/filemanager/filegui.c:527 +#: src/filemanager/filegui.c:529 msgid "File exists" msgstr "" -#: src/filemanager/filegui.c:529 +#: src/filemanager/filegui.c:531 msgid "Background process: File exists" msgstr "" -#: src/filemanager/filegui.c:1047 +#: src/filemanager/filegui.c:1049 #, c-format msgid "Files processed: %zu / %zu" msgstr "" -#: src/filemanager/filegui.c:1050 +#: src/filemanager/filegui.c:1052 #, c-format msgid "Files processed: %zu" msgstr "" -#: src/filemanager/filegui.c:1095 +#: src/filemanager/filegui.c:1097 #, c-format msgid "Time: %s %s" msgstr "" -#: src/filemanager/filegui.c:1099 +#: src/filemanager/filegui.c:1101 #, c-format msgid "Time: %s %s (%s)" msgstr "" -#: src/filemanager/filegui.c:1105 +#: src/filemanager/filegui.c:1107 #, c-format msgid "Time: %s" msgstr "" -#: src/filemanager/filegui.c:1109 +#: src/filemanager/filegui.c:1111 #, c-format msgid "Time: %s (%s)" msgstr "" -#: src/filemanager/filegui.c:1119 +#: src/filemanager/filegui.c:1121 #, c-format msgid " Total: %s " msgstr "" -#: src/filemanager/filegui.c:1123 +#: src/filemanager/filegui.c:1125 #, c-format msgid " Total: %s / %s " msgstr "" -#: src/filemanager/filegui.c:1147 +#: src/filemanager/filegui.c:1149 msgid "Source" msgstr "" -#: src/filemanager/filegui.c:1172 +#: src/filemanager/filegui.c:1174 msgid "Target" msgstr "" -#: src/filemanager/filegui.c:1205 +#: src/filemanager/filegui.c:1207 msgid "Deleting" msgstr "" -#: src/filemanager/filegui.c:1371 src/filemanager/find.c:585 -#: src/filemanager/panel.c:2554 +#: src/filemanager/filegui.c:1373 src/filemanager/find.c:587 +#: src/filemanager/panel.c:2580 msgid "&Using shell patterns" msgstr "" -#: src/filemanager/filegui.c:1373 +#: src/filemanager/filegui.c:1375 msgid "to:" msgstr "" -#: src/filemanager/filegui.c:1377 +#: src/filemanager/filegui.c:1379 msgid "Follow &links" msgstr "" -#: src/filemanager/filegui.c:1378 +#: src/filemanager/filegui.c:1380 msgid "Preserve &attributes" msgstr "" -#: src/filemanager/filegui.c:1380 +#: src/filemanager/filegui.c:1382 msgid "Di&ve into subdir if exists" msgstr "" -#: src/filemanager/filegui.c:1381 +#: src/filemanager/filegui.c:1383 msgid "&Stable symlinks" msgstr "" -#: src/filemanager/filegui.c:1386 +#: src/filemanager/filegui.c:1388 msgid "&Background" msgstr "" -#: src/filemanager/filegui.c:1440 +#: src/filemanager/filegui.c:1442 #, c-format msgid "Invalid source pattern '%s'" msgstr "" -#: src/filemanager/filemanager.c:194 +#: src/filemanager/filemanager.c:198 msgid "File listin&g" msgstr "" -#: src/filemanager/filemanager.c:195 +#: src/filemanager/filemanager.c:199 msgid "&Quick view" msgstr "" -#: src/filemanager/filemanager.c:196 +#: src/filemanager/filemanager.c:200 msgid "&Info" msgstr "" -#: src/filemanager/filemanager.c:197 src/filemanager/find.c:603 +#: src/filemanager/filemanager.c:201 src/filemanager/find.c:605 msgid "&Tree" msgstr "" -#: src/filemanager/filemanager.c:201 +#: src/filemanager/filemanager.c:204 msgid "&Listing format..." msgstr "" -#: src/filemanager/filemanager.c:202 +#: src/filemanager/filemanager.c:205 msgid "&Sort order..." msgstr "" -#: src/filemanager/filemanager.c:203 +#: src/filemanager/filemanager.c:206 msgid "&Filter..." msgstr "" -#: src/filemanager/filemanager.c:205 +#: src/filemanager/filemanager.c:208 msgid "&Encoding..." msgstr "" -#: src/filemanager/filemanager.c:209 +#: src/filemanager/filemanager.c:212 msgid "FT&P link..." msgstr "" -#: src/filemanager/filemanager.c:212 +#: src/filemanager/filemanager.c:215 msgid "S&hell link..." msgstr "" -#: src/filemanager/filemanager.c:215 +#: src/filemanager/filemanager.c:218 msgid "SFTP li&nk..." msgstr "" -#: src/filemanager/filemanager.c:217 +#: src/filemanager/filemanager.c:220 msgid "Paneli&ze" msgstr "" -#: src/filemanager/filemanager.c:219 +#: src/filemanager/filemanager.c:222 msgid "&Rescan" msgstr "" -#: src/filemanager/filemanager.c:231 +#: src/filemanager/filemanager.c:234 msgid "&View" msgstr "" -#: src/filemanager/filemanager.c:232 +#: src/filemanager/filemanager.c:235 msgid "Vie&w file..." msgstr "" -#: src/filemanager/filemanager.c:233 +#: src/filemanager/filemanager.c:236 msgid "&Filtered view" msgstr "" -#: src/filemanager/filemanager.c:235 +#: src/filemanager/filemanager.c:238 msgid "&Copy" msgstr "" -#: src/filemanager/filemanager.c:236 +#: src/filemanager/filemanager.c:239 msgid "C&hmod" msgstr "" -#: src/filemanager/filemanager.c:237 +#: src/filemanager/filemanager.c:240 msgid "&Link" msgstr "" -#: src/filemanager/filemanager.c:238 +#: src/filemanager/filemanager.c:241 msgid "&Symlink" msgstr "" -#: src/filemanager/filemanager.c:241 +#: src/filemanager/filemanager.c:243 msgid "Relative symlin&k" msgstr "" -#: src/filemanager/filemanager.c:242 +#: src/filemanager/filemanager.c:244 msgid "Edit s&ymlink" msgstr "" -#: src/filemanager/filemanager.c:243 +#: src/filemanager/filemanager.c:245 msgid "Ch&own" msgstr "" -#: src/filemanager/filemanager.c:245 +#: src/filemanager/filemanager.c:246 msgid "&Advanced chown" msgstr "" -#: src/filemanager/filemanager.c:247 +#: src/filemanager/filemanager.c:248 msgid "Cha&ttr" msgstr "" -#: src/filemanager/filemanager.c:249 +#: src/filemanager/filemanager.c:250 msgid "&Rename/Move" msgstr "" -#: src/filemanager/filemanager.c:250 +#: src/filemanager/filemanager.c:251 msgid "&Mkdir" msgstr "" -#: src/filemanager/filemanager.c:252 +#: src/filemanager/filemanager.c:253 msgid "&Quick cd" msgstr "" -#: src/filemanager/filemanager.c:254 +#: src/filemanager/filemanager.c:255 msgid "Select &group" msgstr "" -#: src/filemanager/filemanager.c:255 +#: src/filemanager/filemanager.c:256 msgid "U&nselect group" msgstr "" -#: src/filemanager/filemanager.c:256 +#: src/filemanager/filemanager.c:257 msgid "&Invert selection" msgstr "" -#: src/filemanager/filemanager.c:258 +#: src/filemanager/filemanager.c:259 msgid "E&xit" msgstr "" -#: src/filemanager/filemanager.c:274 +#: src/filemanager/filemanager.c:275 msgid "&User menu" msgstr "" -#: src/filemanager/filemanager.c:275 +#: src/filemanager/filemanager.c:276 msgid "&Directory tree" msgstr "" -#: src/filemanager/filemanager.c:276 +#: src/filemanager/filemanager.c:277 msgid "&Find file" msgstr "" -#: src/filemanager/filemanager.c:277 +#: src/filemanager/filemanager.c:278 msgid "S&wap panels" msgstr "" -#: src/filemanager/filemanager.c:278 +#: src/filemanager/filemanager.c:279 msgid "Switch &panels on/off" msgstr "" @@ -3972,349 +3968,349 @@ msgstr "" msgid "Viewed/edited files hi&story" msgstr "" -#: src/filemanager/filemanager.c:293 +#: src/filemanager/filemanager.c:292 msgid "Di&rectory hotlist" msgstr "" -#: src/filemanager/filemanager.c:295 +#: src/filemanager/filemanager.c:294 msgid "&Active VFS list" msgstr "" -#: src/filemanager/filemanager.c:298 +#: src/filemanager/filemanager.c:297 msgid "&Background jobs" msgstr "" -#: src/filemanager/filemanager.c:300 +#: src/filemanager/filemanager.c:299 msgid "Screen lis&t" msgstr "" -#: src/filemanager/filemanager.c:305 +#: src/filemanager/filemanager.c:303 msgid "&Undelete files (ext2fs only)" msgstr "" -#: src/filemanager/filemanager.c:308 +#: src/filemanager/filemanager.c:306 msgid "&Listing format edit" msgstr "" -#: src/filemanager/filemanager.c:315 +#: src/filemanager/filemanager.c:312 msgid "Edit &extension file" msgstr "" -#: src/filemanager/filemanager.c:316 +#: src/filemanager/filemanager.c:313 msgid "Edit &menu file" msgstr "" -#: src/filemanager/filemanager.c:319 +#: src/filemanager/filemanager.c:316 msgid "Edit hi&ghlighting group file" msgstr "" -#: src/filemanager/filemanager.c:332 +#: src/filemanager/filemanager.c:329 msgid "&Configuration..." msgstr "" -#: src/filemanager/filemanager.c:333 +#: src/filemanager/filemanager.c:330 msgid "&Layout..." msgstr "" -#: src/filemanager/filemanager.c:334 +#: src/filemanager/filemanager.c:331 msgid "&Panel options..." msgstr "" -#: src/filemanager/filemanager.c:336 +#: src/filemanager/filemanager.c:332 msgid "C&onfirmation..." msgstr "" -#: src/filemanager/filemanager.c:338 +#: src/filemanager/filemanager.c:333 msgid "&Appearance..." msgstr "" -#: src/filemanager/filemanager.c:340 +#: src/filemanager/filemanager.c:335 msgid "&Display bits..." msgstr "" -#: src/filemanager/filemanager.c:343 +#: src/filemanager/filemanager.c:338 msgid "&Virtual FS..." msgstr "" -#: src/filemanager/filemanager.c:445 +#: src/filemanager/filemanager.c:440 msgid "Panels:" msgstr "" -#: src/filemanager/filemanager.c:1059 +#: src/filemanager/filemanager.c:1054 #, c-format msgid "You have %zu opened screen. Quit anyway?" msgid_plural "You have %zu opened screens. Quit anyway?" msgstr[0] "" msgstr[1] "" -#: src/filemanager/filemanager.c:1062 src/filemanager/filemanager.c:1068 -#: src/filemanager/panel.c:2893 +#: src/filemanager/filemanager.c:1057 src/filemanager/filemanager.c:1063 +#: src/filemanager/panel.c:2921 msgid "The Midnight Commander" msgstr "" -#: src/filemanager/filemanager.c:1069 +#: src/filemanager/filemanager.c:1064 msgid "Do you really want to quit the Midnight Commander?" msgstr "" -#: src/filemanager/filemanager.c:1627 +#: src/filemanager/filemanager.c:1622 msgid "&Above" msgstr "" -#: src/filemanager/filemanager.c:1627 +#: src/filemanager/filemanager.c:1622 msgid "&Left" msgstr "" -#: src/filemanager/filemanager.c:1628 +#: src/filemanager/filemanager.c:1623 msgid "&Below" msgstr "" -#: src/filemanager/filemanager.c:1628 +#: src/filemanager/filemanager.c:1623 msgid "&Right" msgstr "" -#: src/filemanager/filemanager.c:1641 +#: src/filemanager/filemanager.c:1636 msgid "ButtonBar|Menu" msgstr "" -#: src/filemanager/filemanager.c:1642 src/viewer/display.c:92 +#: src/filemanager/filemanager.c:1637 src/viewer/display.c:95 msgid "ButtonBar|View" msgstr "" -#: src/filemanager/filemanager.c:1645 src/filemanager/tree.c:1178 +#: src/filemanager/filemanager.c:1640 src/filemanager/tree.c:1178 msgid "ButtonBar|RenMov" msgstr "" -#: src/filemanager/filemanager.c:1646 src/filemanager/tree.c:1181 +#: src/filemanager/filemanager.c:1641 src/filemanager/tree.c:1181 msgid "ButtonBar|Mkdir" msgstr "" -#: src/filemanager/find.c:188 +#: src/filemanager/find.c:190 msgid "&Chdir" msgstr "" -#: src/filemanager/find.c:189 +#: src/filemanager/find.c:191 msgid "&Again" msgstr "" -#: src/filemanager/find.c:194 src/filemanager/panelize.c:166 +#: src/filemanager/find.c:196 src/filemanager/panelize.c:169 msgid "Pane&lize" msgstr "" -#: src/filemanager/find.c:195 +#: src/filemanager/find.c:197 msgid "&View - F3" msgstr "" -#: src/filemanager/find.c:196 +#: src/filemanager/find.c:198 msgid "&Edit - F4" msgstr "" -#: src/filemanager/find.c:375 +#: src/filemanager/find.c:377 #, c-format msgid "Found: %lu" msgstr "" -#: src/filemanager/find.c:508 src/filemanager/find.c:519 -#: src/filemanager/panel.c:2592 +#: src/filemanager/find.c:510 src/filemanager/find.c:521 +#: src/filemanager/panel.c:2618 msgid "Malformed regular expression" msgstr "" -#: src/filemanager/find.c:582 +#: src/filemanager/find.c:584 msgid "File name:" msgstr "" -#: src/filemanager/find.c:583 +#: src/filemanager/find.c:585 msgid "&Find recursively" msgstr "" -#: src/filemanager/find.c:584 +#: src/filemanager/find.c:586 msgid "Follow s&ymlinks" msgstr "" -#: src/filemanager/find.c:590 +#: src/filemanager/find.c:592 msgid "S&kip hidden" msgstr "" -#: src/filemanager/find.c:593 +#: src/filemanager/find.c:595 msgid "Content:" msgstr "" -#: src/filemanager/find.c:594 +#: src/filemanager/find.c:596 msgid "Sea&rch for content" msgstr "" -#: src/filemanager/find.c:596 +#: src/filemanager/find.c:598 msgid "Case sens&itive" msgstr "" -#: src/filemanager/find.c:598 +#: src/filemanager/find.c:600 msgid "A&ll charsets" msgstr "" -#: src/filemanager/find.c:601 +#: src/filemanager/find.c:603 msgid "Fir&st hit" msgstr "" -#: src/filemanager/find.c:679 +#: src/filemanager/find.c:681 msgid "Find File" msgstr "" -#: src/filemanager/find.c:687 +#: src/filemanager/find.c:689 msgid "Start at:" msgstr "" -#: src/filemanager/find.c:696 +#: src/filemanager/find.c:698 msgid "Ena&ble ignore directories:" msgstr "" -#: src/filemanager/find.c:1036 src/filemanager/find.c:1130 +#: src/filemanager/find.c:1038 src/filemanager/find.c:1132 #, c-format msgid "Grepping in %s" msgstr "" -#: src/filemanager/find.c:1312 +#: src/filemanager/find.c:1316 msgid "Finished" msgstr "" -#: src/filemanager/find.c:1318 +#: src/filemanager/find.c:1322 #, c-format msgid "Finished (ignored %zu directory)" msgid_plural "Finished (ignored %zu directories)" msgstr[0] "" msgstr[1] "" -#: src/filemanager/find.c:1520 +#: src/filemanager/find.c:1529 #, c-format msgid "Find File: \"%s\". Content: \"%s\"" msgstr "" -#: src/filemanager/find.c:1523 +#: src/filemanager/find.c:1532 #, c-format msgid "Find File: \"%s\"" msgstr "" -#: src/filemanager/find.c:1621 src/filemanager/find.c:1703 +#: src/filemanager/find.c:1630 src/filemanager/find.c:1712 msgid "Searching" msgstr "" -#: src/filemanager/hotlist.c:171 +#: src/filemanager/hotlist.c:173 msgid "Change &to" msgstr "" -#: src/filemanager/hotlist.c:174 +#: src/filemanager/hotlist.c:176 msgid "&Free VFSs now" msgstr "" -#: src/filemanager/hotlist.c:176 +#: src/filemanager/hotlist.c:178 msgid "&Refresh" msgstr "" -#: src/filemanager/hotlist.c:179 +#: src/filemanager/hotlist.c:181 msgid "&Add current" msgstr "" -#: src/filemanager/hotlist.c:181 +#: src/filemanager/hotlist.c:183 msgid "&Up" msgstr "" -#: src/filemanager/hotlist.c:185 +#: src/filemanager/hotlist.c:187 msgid "New &group" msgstr "" -#: src/filemanager/hotlist.c:187 +#: src/filemanager/hotlist.c:189 msgid "New &entry" msgstr "" -#: src/filemanager/hotlist.c:189 src/filemanager/hotlist.c:1015 -#: src/filemanager/hotlist.c:1078 +#: src/filemanager/hotlist.c:191 src/filemanager/hotlist.c:1017 +#: src/filemanager/hotlist.c:1080 msgid "&Insert" msgstr "" -#: src/filemanager/hotlist.c:193 src/filemanager/panelize.c:167 +#: src/filemanager/hotlist.c:195 src/filemanager/panelize.c:170 msgid "&Remove" msgstr "" -#: src/filemanager/hotlist.c:251 +#: src/filemanager/hotlist.c:253 msgid "Subgroup - press ENTER to see list" msgstr "" -#: src/filemanager/hotlist.c:771 +#: src/filemanager/hotlist.c:773 msgid "Active VFS directories" msgstr "" -#: src/filemanager/hotlist.c:778 +#: src/filemanager/hotlist.c:780 msgid "Directory hotlist" msgstr "" -#: src/filemanager/hotlist.c:788 src/filemanager/hotlist.c:1473 +#: src/filemanager/hotlist.c:790 src/filemanager/hotlist.c:1475 msgid "Top level group" msgstr "" -#: src/filemanager/hotlist.c:813 +#: src/filemanager/hotlist.c:815 msgid "Directory path" msgstr "" -#: src/filemanager/hotlist.c:850 +#: src/filemanager/hotlist.c:852 #, c-format msgid "Moving %s" msgstr "" -#: src/filemanager/hotlist.c:860 +#: src/filemanager/hotlist.c:862 msgid "Directory label" msgstr "" -#: src/filemanager/hotlist.c:1014 src/filemanager/hotlist.c:1077 +#: src/filemanager/hotlist.c:1016 src/filemanager/hotlist.c:1079 msgid "&Append" msgstr "" -#: src/filemanager/hotlist.c:1046 +#: src/filemanager/hotlist.c:1048 msgid "New hotlist entry" msgstr "" -#: src/filemanager/hotlist.c:1046 +#: src/filemanager/hotlist.c:1048 msgid "Directory label:" msgstr "" -#: src/filemanager/hotlist.c:1047 +#: src/filemanager/hotlist.c:1049 msgid "Directory path:" msgstr "" -#: src/filemanager/hotlist.c:1106 +#: src/filemanager/hotlist.c:1108 msgid "New hotlist group" msgstr "" -#: src/filemanager/hotlist.c:1106 +#: src/filemanager/hotlist.c:1108 msgid "Name of new group:" msgstr "" -#: src/filemanager/hotlist.c:1159 +#: src/filemanager/hotlist.c:1161 #, c-format msgid "Are you sure you want to remove entry \"%s\"?" msgstr "" -#: src/filemanager/hotlist.c:1176 +#: src/filemanager/hotlist.c:1178 #, c-format msgid "" "Group \"%s\" is not empty.\n" "Remove it?" msgstr "" -#: src/filemanager/hotlist.c:1496 +#: src/filemanager/hotlist.c:1498 msgid "Hotlist Load" msgstr "" -#: src/filemanager/hotlist.c:1498 +#: src/filemanager/hotlist.c:1500 #, c-format msgid "" "MC was unable to write %s file,\n" "your old hotlist entries were not deleted" msgstr "" -#: src/filemanager/hotlist.c:1604 +#: src/filemanager/hotlist.c:1606 #, c-format msgid "Label for \"%s\":" msgstr "" -#: src/filemanager/hotlist.c:1619 +#: src/filemanager/hotlist.c:1621 msgid "Add to hotlist" msgstr "" @@ -4408,304 +4404,300 @@ msgstr "" msgid "Links: %d" msgstr "" -#: src/filemanager/info.c:263 src/filemanager/info.c:279 -msgid "Attributes: not supported" -msgstr "" - -#: src/filemanager/info.c:272 +#: src/filemanager/info.c:269 #, c-format msgid "Attributes: %s" msgstr "" -#: src/filemanager/info.c:274 +#: src/filemanager/info.c:271 msgid "Attributes: unavailable" msgstr "" -#: src/filemanager/info.c:284 +#: src/filemanager/info.c:278 #, c-format msgid "Mode: %s (%04o)" msgstr "" -#: src/filemanager/info.c:289 +#: src/filemanager/info.c:283 #, c-format msgid "Location: %Xh:%Xh" msgstr "" -#: src/filemanager/layout.c:173 +#: src/filemanager/layout.c:175 msgid "&Equal split" msgstr "" -#: src/filemanager/layout.c:174 +#: src/filemanager/layout.c:176 msgid "&Menubar visible" msgstr "" -#: src/filemanager/layout.c:175 +#: src/filemanager/layout.c:177 msgid "Command &prompt" msgstr "" -#: src/filemanager/layout.c:176 +#: src/filemanager/layout.c:178 msgid "&Keybar visible" msgstr "" -#: src/filemanager/layout.c:177 +#: src/filemanager/layout.c:179 msgid "H&intbar visible" msgstr "" -#: src/filemanager/layout.c:178 +#: src/filemanager/layout.c:180 msgid "&XTerm window title" msgstr "" -#: src/filemanager/layout.c:179 +#: src/filemanager/layout.c:181 msgid "&Show free space" msgstr "" -#: src/filemanager/layout.c:499 +#: src/filemanager/layout.c:502 msgid "Panel split" msgstr "" -#: src/filemanager/layout.c:500 +#: src/filemanager/layout.c:503 msgid "Console output" msgstr "" -#: src/filemanager/layout.c:504 +#: src/filemanager/layout.c:507 msgid "&Vertical" msgstr "" -#: src/filemanager/layout.c:505 +#: src/filemanager/layout.c:508 msgid "&Horizontal" msgstr "" -#: src/filemanager/layout.c:511 +#: src/filemanager/layout.c:514 msgid "Output lines:" msgstr "" -#: src/filemanager/layout.c:560 +#: src/filemanager/layout.c:563 msgid "Layout" msgstr "" -#: src/filemanager/mountlist.c:909 +#: src/filemanager/mountlist.c:912 msgid "Memory exhausted!" msgstr "" #. TRANSLATORS: one single character to represent 'unsorted' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:171 +#: src/filemanager/panel.c:169 msgid "sort|u" msgstr "" -#: src/filemanager/panel.c:172 +#: src/filemanager/panel.c:170 msgid "&Unsorted" msgstr "" #. TRANSLATORS: one single character to represent 'name' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:181 +#: src/filemanager/panel.c:179 msgid "sort|n" msgstr "" -#: src/filemanager/panel.c:182 +#: src/filemanager/panel.c:180 msgid "&Name" msgstr "" #. TRANSLATORS: one single character to represent 'version' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:191 +#: src/filemanager/panel.c:189 msgid "sort|v" msgstr "" -#: src/filemanager/panel.c:192 +#: src/filemanager/panel.c:190 msgid "&Version" msgstr "" #. TRANSLATORS: one single character to represent 'extension' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:201 +#: src/filemanager/panel.c:199 msgid "sort|e" msgstr "" -#: src/filemanager/panel.c:202 +#: src/filemanager/panel.c:200 msgid "E&xtension" msgstr "" #. TRANSLATORS: one single character to represent 'size' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:211 +#: src/filemanager/panel.c:209 msgid "sort|s" msgstr "" -#: src/filemanager/panel.c:212 +#: src/filemanager/panel.c:210 msgid "&Size" msgstr "" -#: src/filemanager/panel.c:220 +#: src/filemanager/panel.c:218 msgid "Block Size" msgstr "" #. TRANSLATORS: one single character to represent 'Modify time' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:237 +#: src/filemanager/panel.c:235 msgid "sort|m" msgstr "" -#: src/filemanager/panel.c:238 +#: src/filemanager/panel.c:236 msgid "&Modify time" msgstr "" #. TRANSLATORS: one single character to represent 'Access time' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:247 +#: src/filemanager/panel.c:245 msgid "sort|a" msgstr "" -#: src/filemanager/panel.c:248 +#: src/filemanager/panel.c:246 msgid "&Access time" msgstr "" #. TRANSLATORS: one single character to represent 'Change time' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:257 +#: src/filemanager/panel.c:255 msgid "sort|h" msgstr "" -#: src/filemanager/panel.c:258 +#: src/filemanager/panel.c:256 msgid "C&hange time" msgstr "" -#: src/filemanager/panel.c:274 +#: src/filemanager/panel.c:272 msgid "Perm" msgstr "" -#: src/filemanager/panel.c:282 +#: src/filemanager/panel.c:280 msgid "Nl" msgstr "" #. TRANSLATORS: one single character to represent 'inode' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix -#: src/filemanager/panel.c:290 +#: src/filemanager/panel.c:288 msgid "sort|i" msgstr "" -#: src/filemanager/panel.c:291 +#: src/filemanager/panel.c:289 msgid "&Inode" msgstr "" -#: src/filemanager/panel.c:299 +#: src/filemanager/panel.c:297 msgid "UID" msgstr "" -#: src/filemanager/panel.c:307 +#: src/filemanager/panel.c:305 msgid "GID" msgstr "" -#: src/filemanager/panel.c:315 +#: src/filemanager/panel.c:313 msgid "Owner" msgstr "" -#: src/filemanager/panel.c:323 +#: src/filemanager/panel.c:321 msgid "Group" msgstr "" -#: src/filemanager/panel.c:509 +#: src/filemanager/panel.c:533 msgid "[dev]" msgstr "" -#: src/filemanager/panel.c:522 src/filemanager/panel.c:1042 +#: src/filemanager/panel.c:546 src/filemanager/panel.c:1066 msgid "UP--DIR" msgstr "" -#: src/filemanager/panel.c:541 +#: src/filemanager/panel.c:565 msgid "SYMLINK" msgstr "" -#: src/filemanager/panel.c:544 +#: src/filemanager/panel.c:568 msgid "SUB-DIR" msgstr "" -#: src/filemanager/panel.c:1034 +#: src/filemanager/panel.c:1058 msgid "" msgstr "" -#: src/filemanager/panel.c:1099 +#: src/filemanager/panel.c:1123 #, c-format msgid "%s in %d file" msgid_plural "%s in %d files" msgstr[0] "" msgstr[1] "" -#: src/filemanager/panel.c:1302 +#: src/filemanager/panel.c:1326 msgid "Panelize" msgstr "" -#: src/filemanager/panel.c:1821 +#: src/filemanager/panel.c:1847 msgid "Unknown tag on display format:" msgstr "" -#: src/filemanager/panel.c:2553 +#: src/filemanager/panel.c:2579 msgid "&Files only" msgstr "" -#: src/filemanager/panel.c:2556 +#: src/filemanager/panel.c:2582 msgid "&Case sensitive" msgstr "" -#: src/filemanager/panel.c:2646 +#: src/filemanager/panel.c:2672 msgid "Select" msgstr "" -#: src/filemanager/panel.c:2655 +#: src/filemanager/panel.c:2681 msgid "Unselect" msgstr "" -#: src/filemanager/panel.c:2683 +#: src/filemanager/panel.c:2711 msgid "Filter" msgstr "" -#: src/filemanager/panel.c:2893 +#: src/filemanager/panel.c:2921 msgid "Do you really want to execute?" msgstr "" -#: src/filemanager/panel.c:3359 src/filemanager/panel.c:4539 -#: src/filemanager/panel.c:4587 src/viewer/actions_cmd.c:313 +#: src/filemanager/panel.c:3387 src/filemanager/panel.c:4567 +#: src/filemanager/panel.c:4615 src/viewer/actions_cmd.c:315 msgid "Cannot read directory contents" msgstr "" -#: src/filemanager/panel.c:4641 +#: src/filemanager/panel.c:4669 msgid "User supplied format looks invalid, reverting to default." msgstr "" -#: src/filemanager/panelize.c:168 +#: src/filemanager/panelize.c:171 msgid "&Add new" msgstr "" -#: src/filemanager/panelize.c:201 src/filemanager/panelize.c:309 +#: src/filemanager/panelize.c:204 src/filemanager/panelize.c:312 msgid "External panelize" msgstr "" -#: src/filemanager/panelize.c:210 src/filemanager/panelize.c:289 -#: src/filemanager/panelize.c:498 src/filemanager/panelize.c:555 +#: src/filemanager/panelize.c:213 src/filemanager/panelize.c:292 +#: src/filemanager/panelize.c:501 src/filemanager/panelize.c:558 msgid "Other command" msgstr "" -#: src/filemanager/panelize.c:214 +#: src/filemanager/panelize.c:217 msgid "Command" msgstr "" -#: src/filemanager/panelize.c:274 +#: src/filemanager/panelize.c:277 msgid "Add to external panelize" msgstr "" -#: src/filemanager/panelize.c:275 +#: src/filemanager/panelize.c:278 msgid "Enter command label:" msgstr "" -#: src/filemanager/panelize.c:335 src/filemanager/panelize.c:341 +#: src/filemanager/panelize.c:338 src/filemanager/panelize.c:344 #, c-format msgid "" "External panelize:\n" "%s" msgstr "" -#: src/filemanager/panelize.c:352 +#: src/filemanager/panelize.c:355 #, c-format msgid "" "External panelize:\n" @@ -4713,23 +4705,23 @@ msgid "" "%s" msgstr "" -#: src/filemanager/panelize.c:441 +#: src/filemanager/panelize.c:444 msgid "Cannot run external panelize in a non-local directory" msgstr "" -#: src/filemanager/panelize.c:502 +#: src/filemanager/panelize.c:505 msgid "Modified git files" msgstr "" -#: src/filemanager/panelize.c:503 +#: src/filemanager/panelize.c:506 msgid "Find rejects after patching" msgstr "" -#: src/filemanager/panelize.c:505 +#: src/filemanager/panelize.c:508 msgid "Find *.orig after patching" msgstr "" -#: src/filemanager/panelize.c:507 +#: src/filemanager/panelize.c:510 msgid "Find SUID and SGID programs" msgstr "" @@ -4789,40 +4781,40 @@ msgid "" "%s\n" msgstr "" -#: src/help.c:324 +#: src/help.c:325 msgid "Help file format error\n" msgstr "" -#: src/help.c:362 +#: src/help.c:363 msgid "Internal bug: Double start of link area" msgstr "" -#: src/help.c:634 src/help.c:1119 +#: src/help.c:635 src/help.c:1120 #, c-format msgid "Cannot find node %s in help file" msgstr "" -#: src/help.c:1134 +#: src/help.c:1135 msgid "Help" msgstr "" -#: src/help.c:1164 +#: src/help.c:1165 msgid "ButtonBar|Index" msgstr "" -#: src/help.c:1165 +#: src/help.c:1166 msgid "ButtonBar|Prev" msgstr "" -#: src/learn.c:71 +#: src/learn.c:73 msgid "Learn keys" msgstr "" -#: src/learn.c:89 +#: src/learn.c:92 msgid "Teach me a key" msgstr "" -#: src/learn.c:90 +#: src/learn.c:93 #, c-format msgid "" "Please press the %s\n" @@ -4835,62 +4827,62 @@ msgid "" "and wait as well." msgstr "" -#: src/learn.c:119 +#: src/learn.c:122 msgid "Cannot accept this key" msgstr "" -#: src/learn.c:119 +#: src/learn.c:122 #, c-format msgid "You have entered \"%s\"" msgstr "" #. TRANSLATORS: This label appears near learned keys. Keep it short. -#: src/learn.c:180 +#: src/learn.c:183 msgid "OK" msgstr "" -#: src/learn.c:190 +#: src/learn.c:193 msgid "" "It seems that all your keys already\n" "work fine. That's great." msgstr "" -#: src/learn.c:192 +#: src/learn.c:195 msgid "&Discard" msgstr "" -#: src/learn.c:199 +#: src/learn.c:202 msgid "" "Great! You have a complete terminal database!\n" "All your keys work well." msgstr "" -#: src/learn.c:328 +#: src/learn.c:331 msgid "" "Press all the keys mentioned here. After you have done it, check\n" "which keys are not marked with OK. Press space on the missing\n" "key, or click with the mouse to define it. Move around with Tab." msgstr "" -#: src/main.c:271 +#: src/main.c:274 #, c-format msgid "" "Failed to run:\n" "%s\n" msgstr "" -#: src/main.c:284 +#: src/main.c:287 msgid "Home directory path is not absolute" msgstr "" -#: src/main.c:409 +#: src/main.c:412 msgid "" "GNU Midnight Commander\n" "is already running on this terminal.\n" "Subshell support will be disabled." msgstr "" -#: src/main.c:543 +#: src/main.c:546 #, c-format msgid "" "\n" @@ -4898,11 +4890,11 @@ msgid "" "%s\n" msgstr "" -#: src/selcodepage.c:85 +#: src/selcodepage.c:88 msgid "Choose codepage" msgstr "" -#: src/selcodepage.c:89 +#: src/selcodepage.c:91 msgid "- < No translation >" msgstr "" @@ -4914,217 +4906,217 @@ msgstr "" msgid "%b %e %H:%M" msgstr "" -#: src/setup.c:1077 +#: src/setup.c:1079 #, c-format msgid "" "Cannot save file %s:\n" "%s" msgstr "" -#: src/subshell/common.c:1375 +#: src/subshell/common.c:1377 #, c-format msgid "Cannot open named pipe %s\n" msgstr "" -#: src/subshell/common.c:1656 +#: src/subshell/common.c:1652 msgid "The shell is still active. Quit anyway?" msgstr "" -#: src/subshell/common.c:1780 +#: src/subshell/common.c:1776 #, c-format msgid "Warning: Cannot change to %s.\n" msgstr "" -#: src/textconf.c:87 +#: src/textconf.c:89 msgid "With builtin Editor and Aspell support" msgstr "" -#: src/textconf.c:89 +#: src/textconf.c:91 msgid "With builtin Editor" msgstr "" -#: src/textconf.c:95 +#: src/textconf.c:97 msgid "With optional subshell support" msgstr "" -#: src/textconf.c:97 +#: src/textconf.c:99 msgid "With subshell support as default" msgstr "" -#: src/textconf.c:102 +#: src/textconf.c:104 msgid "With support for background operations" msgstr "" -#: src/textconf.c:106 +#: src/textconf.c:108 msgid "With mouse support on xterm and Linux console" msgstr "" -#: src/textconf.c:108 +#: src/textconf.c:110 msgid "With mouse support on xterm" msgstr "" -#: src/textconf.c:112 +#: src/textconf.c:114 msgid "With support for X11 events" msgstr "" -#: src/textconf.c:116 +#: src/textconf.c:118 msgid "With internationalization support" msgstr "" -#: src/textconf.c:120 +#: src/textconf.c:122 msgid "With multiple codepages support" msgstr "" -#: src/textconf.c:124 +#: src/textconf.c:126 msgid "With ext2fs attributes support" msgstr "" -#: src/textconf.c:144 +#: src/textconf.c:146 #, c-format msgid "Built with GLib %d.%d.%d\n" msgstr "" -#: src/textconf.c:148 +#: src/textconf.c:150 #, c-format msgid "Built with S-Lang %s with terminfo database\n" msgstr "" -#: src/textconf.c:151 +#: src/textconf.c:153 #, c-format msgid "Built with ncurses %s\n" msgstr "" -#: src/textconf.c:153 +#: src/textconf.c:155 msgid "Built with ncurses (unknown version)" msgstr "" -#: src/textconf.c:157 +#: src/textconf.c:159 #, c-format msgid "Built with ncursesw %s\n" msgstr "" -#: src/textconf.c:159 +#: src/textconf.c:161 msgid "Built with ncursesw (unknown version)" msgstr "" -#: src/textconf.c:166 +#: src/textconf.c:168 #, c-format msgid "Built with libssh2 %d.%d.%d\n" msgstr "" -#: src/textconf.c:174 +#: src/textconf.c:176 msgid "Virtual File Systems:" msgstr "" -#: src/textconf.c:180 +#: src/textconf.c:182 msgid "Data types:" msgstr "" -#: src/textconf.c:208 +#: src/textconf.c:210 msgid "Home directory:" msgstr "" -#: src/textconf.c:209 +#: src/textconf.c:211 msgid "Profile root directory:" msgstr "" -#: src/textconf.c:212 +#: src/textconf.c:214 msgid "System data" msgstr "" -#: src/textconf.c:214 src/textconf.c:232 +#: src/textconf.c:216 src/textconf.c:234 msgid "Config directory:" msgstr "" -#: src/textconf.c:215 src/textconf.c:233 +#: src/textconf.c:217 src/textconf.c:235 msgid "Data directory:" msgstr "" -#: src/textconf.c:217 +#: src/textconf.c:219 msgid "File extension handlers:" msgstr "" -#: src/textconf.c:220 +#: src/textconf.c:222 msgid "VFS plugins and scripts:" msgstr "" -#: src/textconf.c:230 +#: src/textconf.c:232 msgid "User data" msgstr "" -#: src/textconf.c:245 +#: src/textconf.c:247 msgid "Cache directory:" msgstr "" -#: src/usermenu.c:321 +#: src/usermenu.c:328 msgid "Debug" msgstr "" -#: src/usermenu.c:338 +#: src/usermenu.c:345 msgid "ERROR:" msgstr "" -#: src/usermenu.c:342 +#: src/usermenu.c:349 msgid "True:" msgstr "" -#: src/usermenu.c:344 +#: src/usermenu.c:351 msgid "False:" msgstr "" -#: src/usermenu.c:577 +#: src/usermenu.c:584 msgid "Error calling program" msgstr "" -#: src/usermenu.c:605 +#: src/usermenu.c:612 msgid "Warning -- ignoring file" msgstr "" -#: src/usermenu.c:606 +#: src/usermenu.c:613 #, c-format msgid "" "File %s is not owned by root or you or is world writable.\n" "Using it may compromise your security" msgstr "" -#: src/usermenu.c:718 +#: src/usermenu.c:725 msgid "Format error on file Extensions File" msgstr "" -#: src/usermenu.c:719 +#: src/usermenu.c:726 #, c-format msgid "The %%var macro has no default" msgstr "" -#: src/usermenu.c:720 +#: src/usermenu.c:727 #, c-format msgid "The %%var macro has no variable" msgstr "" -#: src/usermenu.c:1121 +#: src/usermenu.c:1130 #, c-format msgid "No suitable entries found in %s" msgstr "" -#: src/usermenu.c:1135 +#: src/usermenu.c:1144 msgid "User menu" msgstr "" -#: src/vfs/cpio/cpio.c:237 src/vfs/cpio/cpio.c:260 +#: src/vfs/cpio/cpio.c:236 src/vfs/cpio/cpio.c:259 #, c-format msgid "" "Cannot open cpio archive\n" "%s" msgstr "" -#: src/vfs/cpio/cpio.c:337 +#: src/vfs/cpio/cpio.c:336 #, c-format msgid "" "Premature end of cpio archive\n" "%s" msgstr "" -#: src/vfs/cpio/cpio.c:426 +#: src/vfs/cpio/cpio.c:425 #, c-format msgid "" "Inconsistent hardlinks of\n" @@ -5133,20 +5125,20 @@ msgid "" "%s" msgstr "" -#: src/vfs/cpio/cpio.c:467 +#: src/vfs/cpio/cpio.c:466 #, c-format msgid "%s contains duplicate entries! Skipping!" msgstr "" -#: src/vfs/cpio/cpio.c:577 src/vfs/cpio/cpio.c:644 src/vfs/cpio/cpio.c:650 -#: src/vfs/cpio/cpio.c:719 src/vfs/cpio/cpio.c:729 +#: src/vfs/cpio/cpio.c:576 src/vfs/cpio/cpio.c:643 src/vfs/cpio/cpio.c:649 +#: src/vfs/cpio/cpio.c:718 src/vfs/cpio/cpio.c:728 #, c-format msgid "" "Corrupted cpio header encountered in\n" "%s" msgstr "" -#: src/vfs/cpio/cpio.c:793 +#: src/vfs/cpio/cpio.c:792 #, c-format msgid "" "Unexpected end of file\n" @@ -5178,305 +5170,305 @@ msgstr "" msgid "Warning: cannot open %s directory\n" msgstr "" -#: src/vfs/fish/fish.c:382 +#: src/vfs/fish/fish.c:384 #, c-format msgid "fish: Disconnecting from %s" msgstr "" -#: src/vfs/fish/fish.c:567 +#: src/vfs/fish/fish.c:569 msgid "fish: Waiting for initial line..." msgstr "" -#: src/vfs/fish/fish.c:577 +#: src/vfs/fish/fish.c:579 msgid "Sorry, we cannot do password authenticated connections for now." msgstr "" -#: src/vfs/fish/fish.c:585 +#: src/vfs/fish/fish.c:587 #, c-format msgid "fish: Password is required for %s" msgstr "" -#: src/vfs/fish/fish.c:593 +#: src/vfs/fish/fish.c:595 msgid "fish: Sending password..." msgstr "" -#: src/vfs/fish/fish.c:630 +#: src/vfs/fish/fish.c:632 msgid "fish: Sending initial line..." msgstr "" -#: src/vfs/fish/fish.c:641 +#: src/vfs/fish/fish.c:643 msgid "fish: Handshaking version..." msgstr "" -#: src/vfs/fish/fish.c:652 +#: src/vfs/fish/fish.c:654 msgid "fish: Getting host info..." msgstr "" -#: src/vfs/fish/fish.c:931 +#: src/vfs/fish/fish.c:933 #, c-format msgid "fish: Reading directory %s..." msgstr "" -#: src/vfs/fish/fish.c:976 src/vfs/ftpfs/ftpfs.c:1915 -#: src/vfs/undelfs/undelfs.c:384 +#: src/vfs/fish/fish.c:978 src/vfs/ftpfs/ftpfs.c:1914 +#: src/vfs/undelfs/undelfs.c:386 #, c-format msgid "%s: done." msgstr "" -#: src/vfs/fish/fish.c:983 src/vfs/ftpfs/ftpfs.c:1863 -#: src/vfs/undelfs/undelfs.c:387 +#: src/vfs/fish/fish.c:985 src/vfs/ftpfs/ftpfs.c:1862 +#: src/vfs/undelfs/undelfs.c:389 #, c-format msgid "%s: failure" msgstr "" -#: src/vfs/fish/fish.c:1041 +#: src/vfs/fish/fish.c:1043 #, c-format msgid "fish: store %s: sending command..." msgstr "" -#: src/vfs/fish/fish.c:1065 +#: src/vfs/fish/fish.c:1067 msgid "fish: Local read failed, sending zeros" msgstr "" -#: src/vfs/fish/fish.c:1084 +#: src/vfs/fish/fish.c:1086 msgid "fish: storing file" msgstr "" -#: src/vfs/fish/fish.c:1154 +#: src/vfs/fish/fish.c:1156 msgid "Aborting transfer..." msgstr "" -#: src/vfs/fish/fish.c:1170 +#: src/vfs/fish/fish.c:1172 msgid "Error reported after abort." msgstr "" -#: src/vfs/fish/fish.c:1172 +#: src/vfs/fish/fish.c:1174 msgid "Aborted transfer would be successful." msgstr "" -#: src/vfs/ftpfs/ftpfs.c:589 +#: src/vfs/ftpfs/ftpfs.c:588 #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:641 +#: src/vfs/ftpfs/ftpfs.c:640 #, c-format msgid "FTP: Password required for %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:684 +#: src/vfs/ftpfs/ftpfs.c:683 msgid "ftpfs: sending login name" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:689 +#: src/vfs/ftpfs/ftpfs.c:688 msgid "ftpfs: sending user password" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:695 +#: src/vfs/ftpfs/ftpfs.c:694 #, c-format msgid "FTP: Account required for user %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:697 +#: src/vfs/ftpfs/ftpfs.c:696 msgid "Account:" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:702 +#: src/vfs/ftpfs/ftpfs.c:701 msgid "ftpfs: sending user account" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:712 +#: src/vfs/ftpfs/ftpfs.c:711 msgid "ftpfs: logged in" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:725 +#: src/vfs/ftpfs/ftpfs.c:724 #, c-format msgid "ftpfs: Login incorrect for user %s " msgstr "" -#: src/vfs/ftpfs/ftpfs.c:861 +#: src/vfs/ftpfs/ftpfs.c:860 msgid "ftpfs: Invalid host name." msgstr "" -#: src/vfs/ftpfs/ftpfs.c:907 src/vfs/ftpfs/ftpfs.c:923 +#: src/vfs/ftpfs/ftpfs.c:906 src/vfs/ftpfs/ftpfs.c:922 #, c-format msgid "ftpfs: %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:930 +#: src/vfs/ftpfs/ftpfs.c:929 #, c-format msgid "ftpfs: making connection to %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:940 +#: src/vfs/ftpfs/ftpfs.c:939 msgid "ftpfs: connection interrupted by user" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:942 +#: src/vfs/ftpfs/ftpfs.c:941 #, c-format msgid "ftpfs: connection to server failed: %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:997 +#: src/vfs/ftpfs/ftpfs.c:996 #, c-format msgid "Waiting to retry... %d (Control-G to cancel)" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1257 +#: src/vfs/ftpfs/ftpfs.c:1256 #, c-format msgid "ftpfs: could not make address-to-name translation: %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1320 src/vfs/ftpfs/ftpfs.c:1339 +#: src/vfs/ftpfs/ftpfs.c:1319 src/vfs/ftpfs/ftpfs.c:1338 #, c-format msgid "ftpfs: try reconnect to server, attempt %u" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1327 +#: src/vfs/ftpfs/ftpfs.c:1326 #, c-format msgid "ftpfs: could not get socket name: %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1344 +#: src/vfs/ftpfs/ftpfs.c:1343 msgid "ftpfs: could not reconnect to server" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1362 +#: src/vfs/ftpfs/ftpfs.c:1361 msgid "ftpfs: invalid address family" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1370 +#: src/vfs/ftpfs/ftpfs.c:1369 #, c-format msgid "ftpfs: could not create socket: %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1405 +#: src/vfs/ftpfs/ftpfs.c:1404 msgid "ftpfs: could not setup passive mode" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1530 +#: src/vfs/ftpfs/ftpfs.c:1529 msgid "ftpfs: aborting transfer." msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1534 +#: src/vfs/ftpfs/ftpfs.c:1533 #, c-format msgid "ftpfs: abort error: %s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1542 +#: src/vfs/ftpfs/ftpfs.c:1541 msgid "ftpfs: abort failed" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1685 src/vfs/ftpfs/ftpfs.c:1813 +#: src/vfs/ftpfs/ftpfs.c:1684 src/vfs/ftpfs/ftpfs.c:1812 msgid "ftpfs: CWD failed." msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1694 src/vfs/ftpfs/ftpfs.c:1702 +#: src/vfs/ftpfs/ftpfs.c:1693 src/vfs/ftpfs/ftpfs.c:1701 msgid "ftpfs: couldn't resolve symlink" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1776 +#: src/vfs/ftpfs/ftpfs.c:1775 msgid "Resolving symlink..." msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1805 +#: src/vfs/ftpfs/ftpfs.c:1804 #, c-format msgid "ftpfs: Reading FTP directory %s... %s%s" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1808 +#: src/vfs/ftpfs/ftpfs.c:1807 msgid "(strict rfc959)" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1808 +#: src/vfs/ftpfs/ftpfs.c:1807 msgid "(chdir first)" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:1849 +#: src/vfs/ftpfs/ftpfs.c:1848 msgid "ftpfs: failed; nowhere to fallback to" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:2005 +#: src/vfs/ftpfs/ftpfs.c:2004 msgid "ftpfs: storing file" msgstr "" -#: src/vfs/ftpfs/ftpfs.c:2506 +#: src/vfs/ftpfs/ftpfs.c:2505 msgid "" "~/.netrc file has incorrect mode\n" "Remove password or correct mode" msgstr "" -#: src/vfs/sfs/sfs.c:226 src/vfs/sfs/sfs.c:236 src/vfs/sfs/sfs.c:243 +#: src/vfs/sfs/sfs.c:230 src/vfs/sfs/sfs.c:240 src/vfs/sfs/sfs.c:247 #, c-format msgid "" "SFS virtual file system:\n" "%s" msgstr "" -#: src/vfs/sfs/sfs.c:461 +#: src/vfs/sfs/sfs.c:465 #, c-format msgid "%s: Warning: file %s not found\n" msgstr "" -#: src/vfs/sfs/sfs.c:491 +#: src/vfs/sfs/sfs.c:495 #, c-format msgid "" "Warning: Invalid line in %s:\n" "%s\n" msgstr "" -#: src/vfs/sfs/sfs.c:508 +#: src/vfs/sfs/sfs.c:512 #, c-format msgid "" "Warning: Invalid flag %c in %s:\n" "%s\n" msgstr "" -#: src/vfs/sftpfs/config_parser.c:232 +#: src/vfs/sftpfs/config_parser.c:234 #, c-format msgid "sftp: an error occurred while reading %s: %s" msgstr "" -#: src/vfs/sftpfs/config_parser.c:336 +#: src/vfs/sftpfs/config_parser.c:338 msgid "sftp: Unable to get current user name." msgstr "" -#: src/vfs/sftpfs/connection.c:114 src/vfs/sftpfs/sftpfs.c:743 +#: src/vfs/sftpfs/connection.c:116 src/vfs/sftpfs/sftpfs.c:745 msgid "sftp: Invalid host name." msgstr "" -#: src/vfs/sftpfs/connection.c:146 src/vfs/sftpfs/connection.c:186 +#: src/vfs/sftpfs/connection.c:148 src/vfs/sftpfs/connection.c:188 #, c-format msgid "sftp: %s" msgstr "" -#: src/vfs/sftpfs/connection.c:174 +#: src/vfs/sftpfs/connection.c:176 msgid "sftp: failed to convert remote host IP address into text form" msgstr "" -#: src/vfs/sftpfs/connection.c:191 +#: src/vfs/sftpfs/connection.c:193 #, c-format msgid "sftp: making connection to %s" msgstr "" -#: src/vfs/sftpfs/connection.c:201 +#: src/vfs/sftpfs/connection.c:203 msgid "sftp: connection interrupted by user" msgstr "" -#: src/vfs/sftpfs/connection.c:203 +#: src/vfs/sftpfs/connection.c:205 #, c-format msgid "sftp: connection to server failed: %s" msgstr "" -#: src/vfs/sftpfs/connection.c:319 +#: src/vfs/sftpfs/connection.c:321 msgid "sftp: found host key of unsupported type: RSA1" msgstr "" -#: src/vfs/sftpfs/connection.c:322 +#: src/vfs/sftpfs/connection.c:324 msgid "sftp: unknown host key type:" msgstr "" -#: src/vfs/sftpfs/connection.c:379 +#: src/vfs/sftpfs/connection.c:381 #, c-format msgid "" "Permanently added\n" @@ -5484,19 +5476,19 @@ msgid "" "to the list of known hosts." msgstr "" -#: src/vfs/sftpfs/connection.c:443 +#: src/vfs/sftpfs/connection.c:445 msgid "sftp: cannot get the remote host key" msgstr "" -#: src/vfs/sftpfs/connection.c:483 +#: src/vfs/sftpfs/connection.c:485 msgid "sftp: unsupported key type, can't check remote host key" msgstr "" -#: src/vfs/sftpfs/connection.c:490 +#: src/vfs/sftpfs/connection.c:492 msgid "sftp: can't compute host key fingerprint hash" msgstr "" -#: src/vfs/sftpfs/connection.c:512 +#: src/vfs/sftpfs/connection.c:514 #, c-format msgid "" "The authenticity of host\n" @@ -5507,7 +5499,7 @@ msgid "" "Do you want to add it to the list of known hosts and continue connecting?" msgstr "" -#: src/vfs/sftpfs/connection.c:525 +#: src/vfs/sftpfs/connection.c:527 #, c-format msgid "" "%s (%s)\n" @@ -5517,175 +5509,175 @@ msgid "" "connecting?" msgstr "" -#: src/vfs/sftpfs/connection.c:552 +#: src/vfs/sftpfs/connection.c:554 msgid "sftp: host key verification failed" msgstr "" -#: src/vfs/sftpfs/connection.c:688 +#: src/vfs/sftpfs/connection.c:690 #, c-format msgid "sftp: Enter passphrase for %s " msgstr "" -#: src/vfs/sftpfs/connection.c:693 +#: src/vfs/sftpfs/connection.c:695 msgid "sftp: Passphrase is empty." msgstr "" -#: src/vfs/sftpfs/connection.c:798 +#: src/vfs/sftpfs/connection.c:800 #, c-format msgid "sftp: Enter password for %s " msgstr "" -#: src/vfs/sftpfs/connection.c:803 +#: src/vfs/sftpfs/connection.c:805 msgid "sftp: Password is empty." msgstr "" -#: src/vfs/sftpfs/connection.c:884 +#: src/vfs/sftpfs/connection.c:886 msgid "sftp: failure establishing SSH session" msgstr "" -#: src/vfs/sftpfs/file.c:277 +#: src/vfs/sftpfs/file.c:279 msgid "sftp: No file handler data present for reading file" msgstr "" -#: src/vfs/sftpfs/internal.c:105 +#: src/vfs/sftpfs/internal.c:107 #, c-format msgid "sftp: socket error: %s" msgstr "" -#: src/vfs/sftpfs/sftpfs.c:215 +#: src/vfs/sftpfs/sftpfs.c:217 #, c-format msgid "sftp: (Ctrl-G break) Listing... %s" msgstr "" -#: src/vfs/sftpfs/sftpfs.c:217 +#: src/vfs/sftpfs/sftpfs.c:219 msgid "sftp: Listing done." msgstr "" -#: src/vfs/tar/tar.c:350 src/vfs/tar/tar.c:373 +#: src/vfs/tar/tar.c:545 src/vfs/tar/tar.c:574 src/vfs/tar/tar.c:663 +#: src/vfs/tar/tar.c:671 +msgid "Inconsistent tar archive" +msgstr "" + +#: src/vfs/tar/tar.c:560 +msgid "Unexpected EOF on archive file" +msgstr "" + +#: src/vfs/tar/tar.c:763 src/vfs/tar/tar.c:786 #, c-format msgid "" "Cannot open tar archive\n" "%s" msgstr "" -#: src/vfs/tar/tar.c:663 src/vfs/tar/tar.c:692 src/vfs/tar/tar.c:781 -#: src/vfs/tar/tar.c:789 -msgid "Inconsistent tar archive" -msgstr "" - -#: src/vfs/tar/tar.c:678 -msgid "Unexpected EOF on archive file" -msgstr "" - -#: src/vfs/tar/tar.c:880 +#: src/vfs/tar/tar.c:846 src/vfs/tar/tar.c:866 #, c-format msgid "" "%s\n" "doesn't look like a tar archive." msgstr "" -#: src/vfs/undelfs/undelfs.c:123 +#: src/vfs/undelfs/undelfs.c:125 msgid "undelfs: error" msgstr "" -#: src/vfs/undelfs/undelfs.c:240 +#: src/vfs/undelfs/undelfs.c:242 msgid "not enough memory" msgstr "" -#: src/vfs/undelfs/undelfs.c:246 +#: src/vfs/undelfs/undelfs.c:248 msgid "while allocating block buffer" msgstr "" -#: src/vfs/undelfs/undelfs.c:252 +#: src/vfs/undelfs/undelfs.c:254 #, c-format msgid "open_inode_scan: %d" msgstr "" -#: src/vfs/undelfs/undelfs.c:258 +#: src/vfs/undelfs/undelfs.c:260 #, c-format msgid "while starting inode scan %d" msgstr "" -#: src/vfs/undelfs/undelfs.c:265 +#: src/vfs/undelfs/undelfs.c:267 #, c-format msgid "undelfs: loading deleted files information %d inodes" msgstr "" -#: src/vfs/undelfs/undelfs.c:280 +#: src/vfs/undelfs/undelfs.c:282 #, c-format msgid "while calling ext2_block_iterate %d" msgstr "" -#: src/vfs/undelfs/undelfs.c:293 +#: src/vfs/undelfs/undelfs.c:295 msgid "no more memory while reallocating array" msgstr "" -#: src/vfs/undelfs/undelfs.c:315 +#: src/vfs/undelfs/undelfs.c:317 #, c-format msgid "while doing inode scan %d" msgstr "" -#: src/vfs/undelfs/undelfs.c:366 +#: src/vfs/undelfs/undelfs.c:368 #, c-format msgid "Cannot open file %s" msgstr "" -#: src/vfs/undelfs/undelfs.c:369 +#: src/vfs/undelfs/undelfs.c:371 msgid "undelfs: reading inode bitmap..." msgstr "" -#: src/vfs/undelfs/undelfs.c:372 +#: src/vfs/undelfs/undelfs.c:374 #, c-format msgid "" "Cannot load inode bitmap from:\n" "%s" msgstr "" -#: src/vfs/undelfs/undelfs.c:375 +#: src/vfs/undelfs/undelfs.c:377 msgid "undelfs: reading block bitmap..." msgstr "" -#: src/vfs/undelfs/undelfs.c:378 +#: src/vfs/undelfs/undelfs.c:380 #, c-format msgid "" "Cannot load block bitmap from:\n" "%s" msgstr "" -#: src/vfs/undelfs/undelfs.c:402 +#: src/vfs/undelfs/undelfs.c:404 msgid "vfs_info is not fs!" msgstr "" -#: src/vfs/undelfs/undelfs.c:453 src/vfs/undelfs/undelfs.c:677 +#: src/vfs/undelfs/undelfs.c:455 src/vfs/undelfs/undelfs.c:679 msgid "You have to chdir to extract files first" msgstr "" -#: src/vfs/undelfs/undelfs.c:599 +#: src/vfs/undelfs/undelfs.c:601 msgid "while iterating over blocks" msgstr "" -#: src/vfs/undelfs/undelfs.c:721 +#: src/vfs/undelfs/undelfs.c:723 #, c-format msgid "Cannot open file \"%s\"" msgstr "" -#: src/vfs/undelfs/undelfs.c:815 +#: src/vfs/undelfs/undelfs.c:817 msgid "Ext2lib error" msgstr "" -#: src/viewer/actions_cmd.c:443 +#: src/viewer/actions_cmd.c:445 msgid "Invalid value" msgstr "" -#: src/viewer/actions_cmd.c:642 +#: src/viewer/actions_cmd.c:644 msgid "File was modified. Save with exit?" msgstr "" -#: src/viewer/actions_cmd.c:643 +#: src/viewer/actions_cmd.c:645 msgid "&Cancel quit" msgstr "" -#: src/viewer/actions_cmd.c:648 +#: src/viewer/actions_cmd.c:650 msgid "" "Midnight Commander is being shut down.\n" "Save modified file?" @@ -5711,54 +5703,54 @@ msgstr "" msgid "Goto" msgstr "" -#: src/viewer/display.c:98 +#: src/viewer/display.c:101 msgid "ButtonBar|Ascii" msgstr "" -#: src/viewer/display.c:100 +#: src/viewer/display.c:103 msgid "ButtonBar|HxSrch" msgstr "" -#: src/viewer/display.c:105 +#: src/viewer/display.c:108 msgid "ButtonBar|UnWrap" msgstr "" -#: src/viewer/display.c:106 +#: src/viewer/display.c:109 msgid "ButtonBar|Wrap" msgstr "" -#: src/viewer/display.c:107 +#: src/viewer/display.c:110 msgid "ButtonBar|Hex" msgstr "" -#: src/viewer/display.c:112 +#: src/viewer/display.c:115 msgid "ButtonBar|Goto" msgstr "" -#: src/viewer/display.c:113 +#: src/viewer/display.c:116 msgid "ButtonBar|Raw" msgstr "" -#: src/viewer/display.c:114 +#: src/viewer/display.c:117 msgid "ButtonBar|Parse" msgstr "" -#: src/viewer/display.c:119 +#: src/viewer/display.c:122 msgid "ButtonBar|Unform" msgstr "" -#: src/viewer/display.c:120 +#: src/viewer/display.c:123 msgid "ButtonBar|Format" msgstr "" -#: src/viewer/growbuf.c:212 +#: src/viewer/growbuf.c:209 #, c-format msgid "" "Failed to read data from child stdout:\n" "%s" msgstr "" -#: src/viewer/hex.c:418 +#: src/viewer/hex.c:419 #, c-format msgid "" "Error while closing the file:\n" @@ -5766,40 +5758,40 @@ msgid "" "Data may have been written or not" msgstr "" -#: src/viewer/hex.c:426 +#: src/viewer/hex.c:427 #, c-format msgid "" "Cannot save file:\n" "%s" msgstr "" -#: src/viewer/lib.c:390 src/viewer/lib.c:392 +#: src/viewer/lib.c:393 src/viewer/lib.c:395 msgid "View: " msgstr "" -#: src/viewer/mcviewer.c:337 +#: src/viewer/mcviewer.c:339 #, c-format msgid "" "Cannot open \"%s\"\n" "%s" msgstr "" -#: src/viewer/mcviewer.c:367 +#: src/viewer/mcviewer.c:369 msgid "Cannot view: not a regular file" msgstr "" -#: src/viewer/mcviewer.c:402 +#: src/viewer/mcviewer.c:404 #, c-format msgid "" "Cannot open \"%s\" in parse mode\n" "%s" msgstr "" -#: src/viewer/search.c:450 +#: src/viewer/search.c:452 msgid "Search done" msgstr "" -#: src/viewer/search.c:450 +#: src/viewer/search.c:452 msgid "Continue from beginning?" msgstr "" diff --git a/po/mn.po b/po/mn.po index 053b94cfa..ad6943d65 100644 --- a/po/mn.po +++ b/po/mn.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Shuree Nyam-Oidov <99shuree@gmail.com>, 2020\n" "Language-Team: Mongolian (http://www.transifex.com/mc/mc/language/mn/)\n" @@ -2160,9 +2160,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3317,9 +3314,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4255,6 +4249,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Алдаатай архив tar" + +msgid "Unexpected EOF on archive file" +msgstr "Архив файлын төгсгөл алдаатай" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4263,12 +4263,6 @@ msgstr "" "tar-архивыг нээж чадсангүй\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Алдаатай архив tar" - -msgid "Unexpected EOF on archive file" -msgstr "Архив файлын төгсгөл алдаатай" - #, c-format msgid "" "%s\n" diff --git a/po/nb.po b/po/nb.po index 519f5a47f..5551c1613 100644 --- a/po/nb.po +++ b/po/nb.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: heskjestad , 2021-2022\n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/mc/mc/language/" @@ -2273,9 +2273,6 @@ msgstr "" "chattr mislyktes for «%s»\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Kan ikke endre attributter i eksterne filsystemer" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3526,9 +3523,6 @@ msgstr "Eier: %s/%s" msgid "Links: %d" msgstr "Lenker: %d" -msgid "Attributes: not supported" -msgstr "Attributter: Støttes ikke" - #, c-format msgid "Attributes: %s" msgstr "Attributter: %s" @@ -4509,6 +4503,12 @@ msgstr "sftp: (Ctrl + G avbryter) Lister ut ... %s" msgid "sftp: Listing done." msgstr "sftp: Utlisting ferdig." +msgid "Inconsistent tar archive" +msgstr "Inkonsistent tar-arkiv" + +msgid "Unexpected EOF on archive file" +msgstr "Uventet filslutt i arkivfila" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4517,12 +4517,6 @@ msgstr "" "Klarte ikke åpne tar-arkiv\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Inkonsistent tar-arkiv" - -msgid "Unexpected EOF on archive file" -msgstr "Uventet filslutt i arkivfila" - #, c-format msgid "" "%s\n" @@ -4723,6 +4717,12 @@ msgstr "Fortsett fra begynnelsen?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Klarte ikke hente en lokal kopi av /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Kan ikke endre attributter i eksterne filsystemer" + +#~ msgid "Attributes: not supported" +#~ msgstr "Attributter: Støttes ikke" + #, c-format #~ msgid " %s%s file error" #~ msgstr "Feil i fila %s%s " diff --git a/po/nl.po b/po/nl.po index 8b0ba2285..49a7cc3f7 100644 --- a/po/nl.po +++ b/po/nl.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Richard E. van der Luit , " "2012-2015,2017,2020\n" @@ -2265,9 +2265,6 @@ msgstr "" "Kan niet chattr \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Kan attributen van niet-lokale bestandssystemen niet veranderen" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3511,9 +3508,6 @@ msgstr "Eigenaar: %s/%s" msgid "Links: %d" msgstr "Links: %d" -msgid "Attributes: not supported" -msgstr "Attributies: niet ondersteund" - #, c-format msgid "Attributes: %s" msgstr "Attributies: %s" @@ -4470,6 +4464,12 @@ msgstr "sftp: (Ctrl-G break) Weergave lijst... %s" msgid "sftp: Listing done." msgstr "sftp: Klaar met opsomming." +msgid "Inconsistent tar archive" +msgstr "Inconsistent tar-archief" + +msgid "Unexpected EOF on archive file" +msgstr "Onverwachte EOF in archiefbestand" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4478,12 +4478,6 @@ msgstr "" "Openen tar-archief mislukt\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Inconsistent tar-archief" - -msgid "Unexpected EOF on archive file" -msgstr "Onverwachte EOF in archiefbestand" - #, c-format msgid "" "%s\n" @@ -4674,6 +4668,12 @@ msgstr "Doorgaan vanaf het begin?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Kan geen lokale versie van /ftp://some.host/editme.txt ophalen" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Kan attributen van niet-lokale bestandssystemen niet veranderen" + +#~ msgid "Attributes: not supported" +#~ msgstr "Attributies: niet ondersteund" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s bestandsfout " diff --git a/po/nl_BE.po b/po/nl_BE.po index 3defbd9bd..5d7bd4a54 100644 --- a/po/nl_BE.po +++ b/po/nl_BE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Dutch (Belgium) (http://www.transifex.com/mc/mc/language/" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3314,9 +3311,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4217,18 +4211,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/pl.po b/po/pl.po index 5e80334ca..86ca7ddb8 100644 --- a/po/pl.po +++ b/po/pl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Piotr Drąg , 2011-2022\n" "Language-Team: Polish (http://www.transifex.com/mc/mc/language/pl/)\n" @@ -2275,9 +2275,6 @@ msgstr "" "Nie można wykonać polecenia chattr na „%s”\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Nie można zmienić atrybutów na nielokalnych systemach plików" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3536,9 +3533,6 @@ msgstr "Właściciel: %s/%s" msgid "Links: %d" msgstr "Dowiązania: %d" -msgid "Attributes: not supported" -msgstr "Atrybuty: nieobsługiwane" - #, c-format msgid "Attributes: %s" msgstr "Atrybuty: %s" @@ -4523,6 +4517,12 @@ msgstr "sftp: (Ctrl-G przerywa) wyświetlanie listy… %s" msgid "sftp: Listing done." msgstr "sftp: ukończono wyświetlanie listy." +msgid "Inconsistent tar archive" +msgstr "Niespójne archiwum tar" + +msgid "Unexpected EOF on archive file" +msgstr "Nieoczekiwany koniec pliku archiwum" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4531,12 +4531,6 @@ msgstr "" "Nie można otworzyć archiwum tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Niespójne archiwum tar" - -msgid "Unexpected EOF on archive file" -msgstr "Nieoczekiwany koniec pliku archiwum" - #, c-format msgid "" "%s\n" @@ -4738,6 +4732,12 @@ msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "" "Nie można pobrać lokalnej kopii /ftp://jakiś.komputer/modyfikuj_mnie.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Nie można zmienić atrybutów na nielokalnych systemach plików" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atrybuty: nieobsługiwane" + #, c-format #~ msgid " %s%s file error" #~ msgstr " Błąd pliku %s%s" diff --git a/po/pt.po b/po/pt.po index aadb14d70..0c4b38586 100644 --- a/po/pt.po +++ b/po/pt.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Gilberto Jorge , 2013-2022\n" "Language-Team: Portuguese (http://www.transifex.com/mc/mc/language/pt/)\n" @@ -2275,9 +2275,6 @@ msgstr "" "Não é possível chattr \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Não é possível alterar atributos em sistemas de ficheiros não locais" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3532,9 +3529,6 @@ msgstr "Proprietário: %s/%s" msgid "Links: %d" msgstr "Ligações: %d" -msgid "Attributes: not supported" -msgstr "Atributos: não suportado" - #, c-format msgid "Attributes: %s" msgstr "Atributos: %s" @@ -4516,6 +4510,12 @@ msgstr "sftp: (Ctrl-G break) A listar... %s" msgid "sftp: Listing done." msgstr "sftp: Listagem efetuada." +msgid "Inconsistent tar archive" +msgstr "Arquivo tar inconsistente" + +msgid "Unexpected EOF on archive file" +msgstr "EOF (final ficheiro) inesperado no arquivo" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4524,12 +4524,6 @@ msgstr "" "Não é possível abrir arquivo tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Arquivo tar inconsistente" - -msgid "Unexpected EOF on archive file" -msgstr "EOF (final ficheiro) inesperado no arquivo" - #, c-format msgid "" "%s\n" @@ -4730,6 +4724,13 @@ msgstr "Continuar do início?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Não é possível obter uma cópia local de /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "" +#~ "Não é possível alterar atributos em sistemas de ficheiros não locais" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atributos: não suportado" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s erro de ficheiro" diff --git a/po/pt_BR.po b/po/pt_BR.po index 2f748542f..4b531bced 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: marcelo cripe , 2022\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/mc/mc/language/" @@ -2302,11 +2302,6 @@ msgstr "" "Não foi possível o comando chattr \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" -"Não é possível alterar os atributos nos sistemas de arquivos que não são " -"locais" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3572,9 +3567,6 @@ msgstr "Proprietário: %s/%s" msgid "Links: %d" msgstr "Vínculos: %d" -msgid "Attributes: not supported" -msgstr "Atributos: não suportados" - #, c-format msgid "Attributes: %s" msgstr "Atributos: %s" @@ -4587,6 +4579,12 @@ msgstr "O sftp está listando (pressione as teclas Ctrl+G para pausar)... %s" msgid "sftp: Listing done." msgstr "A listagem do sftp foi concluída com sucesso." +msgid "Inconsistent tar archive" +msgstr "O arquivo tar não é consistente" + +msgid "Unexpected EOF on archive file" +msgstr "Ocorreu o fim inesperado do arquivo EOF (final do arquivo)" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4595,12 +4593,6 @@ msgstr "" "Não foi possível abrir arquivo tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "O arquivo tar não é consistente" - -msgid "Unexpected EOF on archive file" -msgstr "Ocorreu o fim inesperado do arquivo EOF (final do arquivo)" - #, c-format msgid "" "%s\n" @@ -4803,6 +4795,14 @@ msgstr "Você quer continuar a partir do início?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Não foi possível obter uma cópia local do /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "" +#~ "Não é possível alterar os atributos nos sistemas de arquivos que não são " +#~ "locais" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atributos: não suportados" + #, c-format #~ msgid " %s%s file error" #~ msgstr "Ocorreu um erro no arquivo %s%s " diff --git a/po/ro.po b/po/ro.po index db81736dc..d5a94e97d 100644 --- a/po/ro.po +++ b/po/ro.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Simona Iacob , 2021-2022\n" "Language-Team: Romanian (http://www.transifex.com/mc/mc/language/ro/)\n" @@ -2276,9 +2276,6 @@ msgstr "" "Nu se poate chattr \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Nu se pot modifica atributele pe sisteme de fișiere non-locale" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3533,9 +3530,6 @@ msgstr "Proprietar: %s/%s" msgid "Links: %d" msgstr "Legături: %d" -msgid "Attributes: not supported" -msgstr "Atribute: nu este acceptat" - #, c-format msgid "Attributes: %s" msgstr "Atribute: %s" @@ -4521,6 +4515,12 @@ msgstr "sftp: (Ctrl-G întrerupe) Afișare... %s" msgid "sftp: Listing done." msgstr "sftp: Afișarea a fost efectuată." +msgid "Inconsistent tar archive" +msgstr "Arhivă tar trunchiată" + +msgid "Unexpected EOF on archive file" +msgstr "Sfârșit de fișier (EOF) neașteptat în fișierul arhivă" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4529,12 +4529,6 @@ msgstr "" "Nu pot deschide arhiva tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Arhivă tar trunchiată" - -msgid "Unexpected EOF on archive file" -msgstr "Sfârșit de fișier (EOF) neașteptat în fișierul arhivă" - #, c-format msgid "" "%s\n" @@ -4735,6 +4729,12 @@ msgstr "Continuă de la început?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Nu se poate aduce o copie locală a /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Nu se pot modifica atributele pe sisteme de fișiere non-locale" + +#~ msgid "Attributes: not supported" +#~ msgstr "Atribute: nu este acceptat" + #, c-format #~ msgid " %s%s file error" #~ msgstr " %s%s eroare fișier" diff --git a/po/ru.po b/po/ru.po index 4109845f4..981b210be 100644 --- a/po/ru.po +++ b/po/ru.po @@ -28,7 +28,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Andrei Stepanov, 2023\n" "Language-Team: Russian (http://www.transifex.com/mc/mc/language/ru/)\n" @@ -2293,9 +2293,6 @@ msgstr "" "Не удалось изменить атрибуты \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Не удалось изменить атрибуты на нелокальной файловой системе" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3545,9 +3542,6 @@ msgstr "Владелец: %s/%s" msgid "Links: %d" msgstr "Ссылок: %d" -msgid "Attributes: not supported" -msgstr "Атрибуты: не поддерживаются" - #, c-format msgid "Attributes: %s" msgstr "Атрибуты: %s" @@ -4532,6 +4526,12 @@ msgstr "sftp: чтение списка файлов (прерывание по msgid "sftp: Listing done." msgstr "sftp: Чтение списка файлов завершено." +msgid "Inconsistent tar archive" +msgstr "Несогласованный архив tar" + +msgid "Unexpected EOF on archive file" +msgstr "Неожиданный конец архивного файла" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4540,12 +4540,6 @@ msgstr "" "Не удалось открыть архив tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Несогласованный архив tar" - -msgid "Unexpected EOF on archive file" -msgstr "Неожиданный конец архивного файла" - #, c-format msgid "" "%s\n" @@ -4746,6 +4740,12 @@ msgstr "Продолжить с начала?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Не удалось получить локальную копию /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Не удалось изменить атрибуты на нелокальной файловой системе" + +#~ msgid "Attributes: not supported" +#~ msgstr "Атрибуты: не поддерживаются" + #, c-format #~ msgid " %s%s file error" #~ msgstr "ошибка файла %s%s" diff --git a/po/sk.po b/po/sk.po index 8b14fbe79..2216748c1 100644 --- a/po/sk.po +++ b/po/sk.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: hualahyja, 2019\n" "Language-Team: Slovak (http://www.transifex.com/mc/mc/language/sk/)\n" @@ -2259,9 +2259,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3505,9 +3502,6 @@ msgstr "Vlastník: %s/%s" msgid "Links: %d" msgstr "Odkazy: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4461,6 +4455,12 @@ msgstr "sftp: (Ctrl-G preruší) Výpis... %s" msgid "sftp: Listing done." msgstr "sftp: Výpis - hotovo." +msgid "Inconsistent tar archive" +msgstr "Poškodený archív .tar" + +msgid "Unexpected EOF on archive file" +msgstr "Neočakávaný koniec archívneho súboru" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4469,12 +4469,6 @@ msgstr "" "Nie je možné otvoriť archív .tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Poškodený archív .tar" - -msgid "Unexpected EOF on archive file" -msgstr "Neočakávaný koniec archívneho súboru" - #, c-format msgid "" "%s\n" diff --git a/po/sl.po b/po/sl.po index 23ac18415..9e000e60a 100644 --- a/po/sl.po +++ b/po/sl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Matej Urbančič <>, 2012\n" "Language-Team: Slovenian (http://www.transifex.com/mc/mc/language/sl/)\n" @@ -2169,9 +2169,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3332,9 +3329,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4274,6 +4268,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Nekonsistenten tar arhiv" + +msgid "Unexpected EOF on archive file" +msgstr "Nepričakovan EOF (konec vrstice) v datoteki arhiva" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4282,12 +4282,6 @@ msgstr "" "Ne morem odpreti tar arhiva\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Nekonsistenten tar arhiv" - -msgid "Unexpected EOF on archive file" -msgstr "Nepričakovan EOF (konec vrstice) v datoteki arhiva" - #, c-format msgid "" "%s\n" diff --git a/po/sr.po b/po/sr.po index 4e691acf9..a7e711db8 100644 --- a/po/sr.po +++ b/po/sr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Serbian (http://www.transifex.com/mc/mc/language/sr/)\n" @@ -2246,9 +2246,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3483,9 +3480,6 @@ msgstr "Власник: %s/%s" msgid "Links: %d" msgstr "Везе: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4437,6 +4431,12 @@ msgstr "sftp: (Ктрл-Г прекида) Исписујем... %s" msgid "sftp: Listing done." msgstr "sftp: Исписивање је готово." +msgid "Inconsistent tar archive" +msgstr "Недоследна тар архива" + +msgid "Unexpected EOF on archive file" +msgstr "Неочекивани крај датотеке у архиви" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4445,12 +4445,6 @@ msgstr "" "Не могу да отворим тар архиву\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Недоследна тар архива" - -msgid "Unexpected EOF on archive file" -msgstr "Неочекивани крај датотеке у архиви" - #, c-format msgid "" "%s\n" diff --git a/po/sv.po b/po/sv.po index fe949e476..b5dbd67d3 100644 --- a/po/sv.po +++ b/po/sv.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Alexander Kilian , 2022\n" "Language-Team: Swedish (http://www.transifex.com/mc/mc/language/sv/)\n" @@ -2266,9 +2266,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3509,9 +3506,6 @@ msgstr "Ägare: %s/%s" msgid "Links: %d" msgstr "Länkar: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4461,6 +4455,12 @@ msgstr "sftp: (Ctrl-G avbryter) Listar... %s" msgid "sftp: Listing done." msgstr "sftp: Listning klar." +msgid "Inconsistent tar archive" +msgstr "Inkonsistensfel i tararkivet" + +msgid "Unexpected EOF on archive file" +msgstr "Oväntad filslut i arkivfilen" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4469,12 +4469,6 @@ msgstr "" "Kan inte öppna tarfilen\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Inkonsistensfel i tararkivet" - -msgid "Unexpected EOF on archive file" -msgstr "Oväntad filslut i arkivfilen" - #, c-format msgid "" "%s\n" diff --git a/po/szl.po b/po/szl.po index 8b19ce5aa..a41000382 100644 --- a/po/szl.po +++ b/po/szl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Silesian (http://www.transifex.com/mc/mc/language/szl/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3317,9 +3314,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4221,18 +4215,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/ta.po b/po/ta.po index 06cb5dd38..e457ef79d 100644 --- a/po/ta.po +++ b/po/ta.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Tamil (http://www.transifex.com/mc/mc/language/ta/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3314,9 +3311,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4217,18 +4211,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/te.po b/po/te.po index 859e69bc2..63a3a9179 100644 --- a/po/te.po +++ b/po/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Telugu (http://www.transifex.com/mc/mc/language/te/)\n" @@ -2156,9 +2156,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3313,9 +3310,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4216,18 +4210,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/tr.po b/po/tr.po index 1aec46c32..f9c5b0932 100644 --- a/po/tr.po +++ b/po/tr.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Serdar Sağlam , 2019-2020\n" "Language-Team: Turkish (http://www.transifex.com/mc/mc/language/tr/)\n" @@ -2256,9 +2256,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3495,9 +3492,6 @@ msgstr "Sahibi: %s/%s" msgid "Links: %d" msgstr "Bağlantılar:%d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4449,6 +4443,12 @@ msgstr "sftp: (kesmek için Ctrl-G) Listeleniyor... %s" msgid "sftp: Listing done." msgstr "sftp: Listeleme yapıldı." +msgid "Inconsistent tar archive" +msgstr "Tar arşivi düzgün değil" + +msgid "Unexpected EOF on archive file" +msgstr "Arşiv dosyasında dosya sonu belirsiz" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4457,12 +4457,6 @@ msgstr "" "%s\n" "tar arşivini açılamadı" -msgid "Inconsistent tar archive" -msgstr "Tar arşivi düzgün değil" - -msgid "Unexpected EOF on archive file" -msgstr "Arşiv dosyasında dosya sonu belirsiz" - #, c-format msgid "" "%s\n" diff --git a/po/uk.po b/po/uk.po index 28dab29a4..9809e3330 100644 --- a/po/uk.po +++ b/po/uk.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Andrij Mizyk , 2022\n" "Language-Team: Ukrainian (http://www.transifex.com/mc/mc/language/uk/)\n" @@ -2277,9 +2277,6 @@ msgstr "" "Не вдалося змінити атрибути \"%s\"\n" "%s" -msgid "Cannot change attributes on non-local filesystems" -msgstr "Не можливо змінити атрибути на нелокальних файлових системах" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3534,9 +3531,6 @@ msgstr "Власник: %s/%s" msgid "Links: %d" msgstr "Посилань: %d" -msgid "Attributes: not supported" -msgstr "Атрибути: не підтримуються" - #, c-format msgid "Attributes: %s" msgstr "Атрибути: %s" @@ -4522,6 +4516,12 @@ msgstr "sftp: (Ctrl-G перервати) Створення списку... %s" msgid "sftp: Listing done." msgstr "sftp: Створення списку завершено." +msgid "Inconsistent tar archive" +msgstr "Виявлено неузгоджений архів tar" + +msgid "Unexpected EOF on archive file" +msgstr "Виявлено неочікуваний кінець архівного файлу" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4530,12 +4530,6 @@ msgstr "" "Не вдалося відкрити архів tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Виявлено неузгоджений архів tar" - -msgid "Unexpected EOF on archive file" -msgstr "Виявлено неочікуваний кінець архівного файлу" - #, c-format msgid "" "%s\n" @@ -4737,6 +4731,12 @@ msgstr "Почати спочатку?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" msgstr "Не вдалося отримати локальну копію /ftp://some.host/editme.txt" +#~ msgid "Cannot change attributes on non-local filesystems" +#~ msgstr "Не можливо змінити атрибути на нелокальних файлових системах" + +#~ msgid "Attributes: not supported" +#~ msgstr "Атрибути: не підтримуються" + #, c-format #~ msgid " %s%s file error" #~ msgstr " Сталася помилка файлу %s%s" diff --git a/po/uz.po b/po/uz.po index a951c1fb3..bb3219eae 100644 --- a/po/uz.po +++ b/po/uz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Uzbek (http://www.transifex.com/mc/mc/language/uz/)\n" @@ -2156,9 +2156,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3310,9 +3307,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4212,18 +4206,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/vi.po b/po/vi.po index 3ededeaff..ff12b4a22 100644 --- a/po/vi.po +++ b/po/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Vietnamese (http://www.transifex.com/mc/mc/language/vi/)\n" @@ -2159,9 +2159,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3313,9 +3310,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4251,6 +4245,12 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +msgid "Inconsistent tar archive" +msgstr "Tập tin tar không thích hợp" + +msgid "Unexpected EOF on archive file" +msgstr "Kết thúc tập tin EOF nén không mong đợi" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4259,12 +4259,6 @@ msgstr "" "Không mở được tập tin nén tar\n" "%s" -msgid "Inconsistent tar archive" -msgstr "Tập tin tar không thích hợp" - -msgid "Unexpected EOF on archive file" -msgstr "Kết thúc tập tin EOF nén không mong đợi" - #, c-format msgid "" "%s\n" diff --git a/po/wa.po b/po/wa.po index 7f491a006..515ae7b4a 100644 --- a/po/wa.po +++ b/po/wa.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Walloon (http://www.transifex.com/mc/mc/language/wa/)\n" @@ -2157,9 +2157,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3314,9 +3311,6 @@ msgstr "" msgid "Links: %d" msgstr "" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4239,18 +4233,18 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#, c-format -msgid "" -"Cannot open tar archive\n" -"%s" -msgstr "" - msgid "Inconsistent tar archive" msgstr "" msgid "Unexpected EOF on archive file" msgstr "" +#, c-format +msgid "" +"Cannot open tar archive\n" +"%s" +msgstr "" + #, c-format msgid "" "%s\n" diff --git a/po/zh_CN.po b/po/zh_CN.po index fba0fa5a2..5a4f47a7c 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Gurbuzguven <6mehmet6@gmail.com>, 2021\n" "Language-Team: Chinese (China) (http://www.transifex.com/mc/mc/language/" @@ -2259,9 +2259,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3497,9 +3494,6 @@ msgstr "所有者: %s/%s" msgid "Links: %d" msgstr "链接: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4448,6 +4442,12 @@ msgstr "sftp: (Ctrl-G 终止) 正在列出... %s" msgid "sftp: Listing done." msgstr "sftp: 列出完毕。" +msgid "Inconsistent tar archive" +msgstr "不完整的 tar 档案文件" + +msgid "Unexpected EOF on archive file" +msgstr "档案文件出现不可预料的文件末端" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4456,12 +4456,6 @@ msgstr "" "无法打开 tar 档案文件\n" "%s" -msgid "Inconsistent tar archive" -msgstr "不完整的 tar 档案文件" - -msgid "Unexpected EOF on archive file" -msgstr "档案文件出现不可预料的文件末端" - #, c-format msgid "" "%s\n" diff --git a/po/zh_TW.po b/po/zh_TW.po index 81e93d97e..6813c960b 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-01-29 11:16+0300\n" +"POT-Creation-Date: 2023-03-19 20:39+0300\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: linwebs , 2020\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/mc/mc/language/" @@ -2184,9 +2184,6 @@ msgid "" "%s" msgstr "" -msgid "Cannot change attributes on non-local filesystems" -msgstr "" - #, c-format msgid "" "Cannot get flags of \"%s\"\n" @@ -3348,9 +3345,6 @@ msgstr "" msgid "Links: %d" msgstr "連結: %d" -msgid "Attributes: not supported" -msgstr "" - #, c-format msgid "Attributes: %s" msgstr "" @@ -4290,6 +4284,12 @@ msgstr "sftp: (Ctrl-G 跳出) 列表... %s" msgid "sftp: Listing done." msgstr "sftp: 列表完成。" +msgid "Inconsistent tar archive" +msgstr "不完整的 tar 檔案集" + +msgid "Unexpected EOF on archive file" +msgstr "檔案集的檔案結尾不正常" + #, c-format msgid "" "Cannot open tar archive\n" @@ -4298,12 +4298,6 @@ msgstr "" "無法開啟 tar 檔案集\n" "%s" -msgid "Inconsistent tar archive" -msgstr "不完整的 tar 檔案集" - -msgid "Unexpected EOF on archive file" -msgstr "檔案集的檔案結尾不正常" - #, c-format msgid "" "%s\n" diff --git a/src/args.c b/src/args.c index 062915353..1d7cdb9a0 100644 --- a/src/args.c +++ b/src/args.c @@ -68,17 +68,18 @@ char *mc_run_param1 = NULL; /*** file scope type declarations ****************************************************************/ -/*** file scope variables ************************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ -/* If true, show version info and exit */ -static gboolean mc_args__show_version = FALSE; - -/* forward declarations */ static gboolean parse_mc_e_argument (const gchar * option_name, const gchar * value, gpointer data, GError ** mcerror); static gboolean parse_mc_v_argument (const gchar * option_name, const gchar * value, gpointer data, GError ** mcerror); +/*** file scope variables ************************************************************************/ + +/* If true, show version info and exit */ +static gboolean mc_args__show_version = FALSE; + static GOptionContext *context; #ifdef ENABLE_SUBSHELL diff --git a/src/background.c b/src/background.c index 495917fe8..41a7f40d4 100644 --- a/src/background.c +++ b/src/background.c @@ -68,6 +68,10 @@ enum ReturnType Return_Integer }; +/*** forward declarations (file scope functions) *************************************************/ + +static int background_attention (int fd, void *closure); + /*** file scope variables ************************************************************************/ /* File descriptor for talking to our parent */ @@ -78,8 +82,7 @@ static int from_parent_fd; TaskList *task_list = NULL; -static int background_attention (int fd, void *closure); - +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/clipboard.c b/src/clipboard.c index 10cb26beb..3c31cb051 100644 --- a/src/clipboard.c +++ b/src/clipboard.c @@ -52,6 +52,8 @@ char *clipboard_paste_path = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const int clip_open_flags = O_CREAT | O_WRONLY | O_TRUNC | O_BINARY; diff --git a/src/cons.handler.c b/src/cons.handler.c index 6c5424d67..d747ff31c 100644 --- a/src/cons.handler.c +++ b/src/cons.handler.c @@ -68,6 +68,8 @@ do \ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ #ifdef __linux__ @@ -80,6 +82,7 @@ static struct scrshot screen_shot; static struct vid_info screen_info; #endif /* __linux__ */ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/consaver/cons.saver.c b/src/consaver/cons.saver.c index 168deefd9..4867ab6aa 100644 --- a/src/consaver/cons.saver.c +++ b/src/consaver/cons.saver.c @@ -80,8 +80,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/diffviewer/search.c b/src/diffviewer/search.c index afb459e5c..80480ccc1 100644 --- a/src/diffviewer/search.c +++ b/src/diffviewer/search.c @@ -55,6 +55,8 @@ typedef struct mcdiffview_search_options_struct gboolean all_codepages; } mcdiffview_search_options_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static mcdiffview_search_options_t mcdiffview_search_options = { diff --git a/src/diffviewer/ydiff.c b/src/diffviewer/ydiff.c index 74fff3bf8..f96526741 100644 --- a/src/diffviewer/ydiff.c +++ b/src/diffviewer/ydiff.c @@ -112,8 +112,11 @@ typedef enum FROM_RIGHT_TO_LEFT } action_direction_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -2971,7 +2974,7 @@ dview_labels (WDiff * dview) Widget *d = WIDGET (dview); WButtonBar *b; - b = find_buttonbar (DIALOG (d->owner)); + b = buttonbar_find (DIALOG (d->owner)); buttonbar_set_label (b, 1, Q_ ("ButtonBar|Help"), d->keymap, d); buttonbar_set_label (b, 2, Q_ ("ButtonBar|Save"), d->keymap, d); diff --git a/src/editor/bookmark.c b/src/editor/bookmark.c index 2af110b63..de94bb6fc 100644 --- a/src/editor/bookmark.c +++ b/src/editor/bookmark.c @@ -53,8 +53,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/editor/edit-impl.h b/src/editor/edit-impl.h index e1eba6e1e..3d0054537 100644 --- a/src/editor/edit-impl.h +++ b/src/editor/edit-impl.h @@ -17,6 +17,8 @@ #include "lib/widget.h" /* cb_ret_t */ #include "lib/vfs/vfs.h" /* vfs_path_t */ +#include "src/setup.h" /* option_tab_spacing */ + #include "edit.h" /*** typedefs(not structures) and defined constants **********************************************/ @@ -124,10 +126,8 @@ extern edit_search_options_t edit_search_options; extern unsigned int edit_stack_iterator; extern edit_stack_type edit_history_moveto[MAX_HISTORY_MOVETO]; -extern int option_line_state_width; - -extern int option_max_undo; -extern gboolean option_auto_syntax; +extern int max_undo; +extern gboolean auto_syntax; extern gboolean search_create_bookmark; @@ -137,7 +137,7 @@ extern char *edit_window_close_char; /*** declarations of public functions ************************************************************/ gboolean edit_add_window (WDialog * h, const WRect * r, const vfs_path_t * f, long fline); -WEdit *find_editor (const WDialog * h); +WEdit *edit_find_editor (const WDialog * h); gboolean edit_widget_is_editor (const Widget * w); gboolean edit_drop_hotkey_menu (WDialog * h, int key); void edit_menu_cmd (WDialog * h); diff --git a/src/editor/edit.c b/src/editor/edit.c index f5353b320..79d2a2db7 100644 --- a/src/editor/edit.c +++ b/src/editor/edit.c @@ -63,7 +63,6 @@ #include "src/usermenu.h" /* user_menu_cmd() */ -#include "src/setup.h" /* option_tab_spacing */ #include "src/keymap.h" #include "edit-impl.h" @@ -78,30 +77,39 @@ /*** global variables ****************************************************************************/ -int option_word_wrap_line_length = DEFAULT_WRAP_LINE_LENGTH; -gboolean option_typewriter_wrap = FALSE; -gboolean option_auto_para_formatting = FALSE; -gboolean option_fill_tabs_with_spaces = FALSE; -gboolean option_return_does_auto_indent = TRUE; -gboolean option_backspace_through_tabs = FALSE; -gboolean option_fake_half_tabs = TRUE; -int option_save_mode = EDIT_QUICK_SAVE; -gboolean option_save_position = TRUE; -int option_max_undo = 32768; -gboolean option_persistent_selections = TRUE; -gboolean option_cursor_beyond_eol = FALSE; -gboolean option_line_state = FALSE; -int option_line_state_width = 0; -gboolean option_cursor_after_inserted_block = FALSE; -gboolean option_state_full_filename = FALSE; +edit_options_t edit_options = { + .word_wrap_line_length = DEFAULT_WRAP_LINE_LENGTH, + .typewriter_wrap = FALSE, + .auto_para_formatting = FALSE, + .fill_tabs_with_spaces = FALSE, + .return_does_auto_indent = TRUE, + .backspace_through_tabs = FALSE, + .fake_half_tabs = TRUE, + .persistent_selections = TRUE, + .drop_selection_on_copy = TRUE, + .cursor_beyond_eol = FALSE, + .cursor_after_inserted_block = FALSE, + .state_full_filename = FALSE, + .line_state = FALSE, + .line_state_width = 0, + .save_mode = EDIT_QUICK_SAVE, + .confirm_save = TRUE, + .save_position = TRUE, + .syntax_highlighting = TRUE, + .group_undo = FALSE, + .backup_ext = NULL, + .filesize_threshold = NULL, + .stop_format_chars = NULL, + .visible_tabs = TRUE, + .visible_tws = TRUE, + .show_right_margin = FALSE, + .simple_statusbar = FALSE, + .check_nl_at_eof = FALSE +}; + +int max_undo = 32768; gboolean enable_show_tabs_tws = TRUE; -gboolean option_check_nl_at_eof = FALSE; -gboolean option_group_undo = FALSE; -gboolean show_right_margin = FALSE; - -char *option_backup_ext = NULL; -char *option_filesize_threshold = NULL; unsigned int edit_stack_iterator = 0; edit_stack_type edit_history_moveto[MAX_HISTORY_MOVETO]; @@ -116,6 +124,8 @@ const char VERTICAL_MAGIC[] = { '\1', '\1', '\1', '\1', '\n' }; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* detecting an error on save is easy: just check if every byte has been written. */ @@ -139,7 +149,7 @@ static const struct edit_filters /* *INDENT-ON* */ }; -static const off_t option_filesize_default_threshold = 64 * 1024 * 1024; /* 64 MB */ +static const off_t filesize_default_threshold = 64 * 1024 * 1024; /* 64 MB */ /* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ @@ -339,9 +349,9 @@ check_file_access (WEdit * edit, const vfs_path_t * filename_vpath, struct stat { gboolean err = FALSE; - threshold = parse_integer (option_filesize_threshold, &err); + threshold = parse_integer (edit_options.filesize_threshold, &err); if (err) - threshold = option_filesize_default_threshold; + threshold = filesize_default_threshold; } /* @@ -565,6 +575,8 @@ edit_pop_undo_action (WEdit * edit) return c; } +/* --------------------------------------------------------------------------------------------- */ + static long edit_pop_redo_action (WEdit * edit) { @@ -594,6 +606,8 @@ edit_pop_redo_action (WEdit * edit) return c; } +/* --------------------------------------------------------------------------------------------- */ + static long get_prev_undo_action (WEdit * edit) { @@ -886,7 +900,7 @@ my_type_of (int c) { unsigned long x, r = 0; const char *p, *q; - const char option_chars_move_whole_word[] = + const char chars_move_whole_word[] = "!=&|<>^~ !:;, !'!`!.?!\"!( !) !{ !} !Aa0 !+-*/= |<> ![ !] !\\#! "; if (c == 0) @@ -904,12 +918,12 @@ my_type_of (int c) c = '0'; else if (isspace (c)) c = ' '; - q = strchr (option_chars_move_whole_word, c); + q = strchr (chars_move_whole_word, c); if (!q) return 0xFFFFFFFFUL; do { - for (x = 1, p = option_chars_move_whole_word; p < q; p++) + for (x = 1, p = chars_move_whole_word; p < q; p++) if (*p == '!') x <<= 1; r |= x; @@ -1015,7 +1029,7 @@ edit_right_char_move_cmd (WEdit * edit) #endif c = edit_buffer_get_current_byte (&edit->buffer); - if (option_cursor_beyond_eol && c == '\n') + if (edit_options.cursor_beyond_eol && c == '\n') edit->over_col++; else edit_cursor_move (edit, char_length); @@ -1029,7 +1043,7 @@ edit_left_char_move_cmd (WEdit * edit) int char_length = 1; if (edit->column_highlight - && option_cursor_beyond_eol + && edit_options.cursor_beyond_eol && edit->mark1 != edit->mark2 && edit->over_col == 0 && edit->buffer.curs1 == edit_buffer_get_current_bol (&edit->buffer)) return; @@ -1042,7 +1056,7 @@ edit_left_char_move_cmd (WEdit * edit) } #endif - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit->over_col--; else edit_cursor_move (edit, -char_length); @@ -1318,10 +1332,10 @@ edit_group_undo (WEdit * edit) cur_ac = get_prev_undo_action (edit); edit_do_undo (edit); ac = get_prev_undo_action (edit); - /* exit from cycle if option_group_undo is not set, + /* exit from cycle if edit_options.group_undo is not set, * and make single UNDO operation */ - if (!option_group_undo) + if (!edit_options.group_undo) ac = STACK_BOTTOM; } } @@ -1425,7 +1439,7 @@ insert_spaces_tab (WEdit * edit, gboolean half) long i; edit_update_curs_col (edit); - i = option_tab_spacing * space_width; + i = TAB_SIZE * space_width; if (half) i /= 2; if (i != 0) @@ -1444,12 +1458,12 @@ insert_spaces_tab (WEdit * edit, gboolean half) static inline void edit_tab_cmd (WEdit * edit) { - if (option_fake_half_tabs && is_in_indent (&edit->buffer)) + if (edit_options.fake_half_tabs && is_in_indent (&edit->buffer)) { /* insert a half tab (usually four spaces) unless there is a half tab already behind, then delete it and insert a full tab. */ - if (option_fill_tabs_with_spaces || !right_of_four_spaces (edit)) + if (edit_options.fill_tabs_with_spaces || !right_of_four_spaces (edit)) insert_spaces_tab (edit, TRUE); else { @@ -1460,7 +1474,7 @@ edit_tab_cmd (WEdit * edit) edit_insert (edit, '\t'); } } - else if (option_fill_tabs_with_spaces) + else if (edit_options.fill_tabs_with_spaces) insert_spaces_tab (edit, FALSE); else edit_insert (edit, '\t'); @@ -1473,10 +1487,10 @@ check_and_wrap_line (WEdit * edit) { off_t curs; - if (!option_typewriter_wrap) + if (!edit_options.typewriter_wrap) return; edit_update_curs_col (edit); - if (edit->curs_col < option_word_wrap_line_length) + if (edit->curs_col < edit_options.word_wrap_line_length) return; curs = edit->buffer.curs1; while (TRUE) @@ -1599,8 +1613,8 @@ edit_move_block_to_right (WEdit * edit) edit_cursor_move (edit, cur_bol - edit->buffer.curs1); if (!edit_line_is_blank (edit, edit->buffer.curs_line)) { - if (option_fill_tabs_with_spaces) - insert_spaces_tab (edit, option_fake_half_tabs); + if (edit_options.fill_tabs_with_spaces) + insert_spaces_tab (edit, edit_options.fake_half_tabs); else edit_insert (edit, '\t'); edit_cursor_move (edit, @@ -1638,10 +1652,7 @@ edit_move_block_to_left (WEdit * edit) edit_cursor_move (edit, cur_bol - edit->buffer.curs1); - if (option_fake_half_tabs) - del_tab_width = HALF_TAB_SIZE; - else - del_tab_width = option_tab_spacing; + del_tab_width = edit_options.fake_half_tabs ? HALF_TAB_SIZE : TAB_SIZE; next_char = edit_buffer_get_current_byte (&edit->buffer); if (next_char == '\t') @@ -1779,7 +1790,7 @@ user_menu (WEdit * edit, const char *menu_file, int selected_entry) edit_save_block (edit, block_file, start_mark, end_mark); /* run shell scripts from menu */ - if (user_menu_cmd (edit, menu_file, selected_entry) + if (user_menu_cmd (CONST_WIDGET (edit), menu_file, selected_entry) && (mc_stat (block_file_vpath, &status) == 0) && (status.st_size != 0)) { int rc = 0; @@ -1966,7 +1977,7 @@ edit_insert_file (WEdit * edit, const vfs_path_t * filename_vpath) edit_insert_stream (edit, f); /* Place cursor at the end of text selection */ - if (!option_cursor_after_inserted_block) + if (!edit_options.cursor_after_inserted_block) { ins_len = edit->buffer.curs1 - current; edit_cursor_move (edit, -ins_len); @@ -2023,7 +2034,7 @@ edit_insert_file (WEdit * edit, const vfs_path_t * filename_vpath) edit_set_markers (edit, edit->buffer.curs1, mark2, c1, c2); /* highlight inserted text then not persistent blocks */ - if (!option_persistent_selections && edit->modified) + if (!edit_options.persistent_selections && edit->modified) { if (!edit->column_highlight) edit_push_undo_action (edit, COLUMN_OFF); @@ -2040,7 +2051,7 @@ edit_insert_file (WEdit * edit, const vfs_path_t * filename_vpath) edit_insert (edit, buf[i]); } /* highlight inserted text then not persistent blocks */ - if (!option_persistent_selections && edit->modified) + if (!edit_options.persistent_selections && edit->modified) { edit_set_markers (edit, edit->buffer.curs1, current, 0, 0); if (edit->column_highlight) @@ -2049,7 +2060,7 @@ edit_insert_file (WEdit * edit, const vfs_path_t * filename_vpath) } /* Place cursor at the end of text selection */ - if (!option_cursor_after_inserted_block) + if (!edit_options.cursor_after_inserted_block) { ins_len = edit->buffer.curs1 - current; edit_cursor_move (edit, -ins_len); @@ -2080,8 +2091,8 @@ edit_init (WEdit * edit, const WRect * r, const vfs_path_t * filename_vpath, lon { gboolean to_free = FALSE; - option_auto_syntax = TRUE; /* Resetting to auto on every invocation */ - option_line_state_width = option_line_state ? LINE_STATE_WIDTH : 0; + auto_syntax = TRUE; /* Resetting to auto on every invocation */ + edit_options.line_state_width = edit_options.line_state ? LINE_STATE_WIDTH : 0; if (edit != NULL) { @@ -2158,7 +2169,7 @@ edit_init (WEdit * edit, const WRect * r, const vfs_path_t * filename_vpath, lon edit_get_syntax_color (edit, -1); /* load saved cursor position and/or boolmarks */ - if ((line == 0) && option_save_position) + if ((line == 0) && edit_options.save_position) edit_load_position (edit, TRUE); else { @@ -2188,7 +2199,7 @@ edit_clean (WEdit * edit) (void) unlock_file (edit->filename_vpath); /* save cursor position */ - if (option_save_position) + if (edit_options.save_position) edit_save_position (edit); else if (edit->serialized_bookmarks != NULL) g_array_free (edit->serialized_bookmarks, TRUE); @@ -2337,9 +2348,9 @@ edit_push_undo_action (WEdit * edit, long c) /* first enlarge the stack if necessary */ if (sp > edit->undo_stack_size - 10) { /* say */ - if (option_max_undo < 256) - option_max_undo = 256; - if (edit->undo_stack_size < (unsigned long) option_max_undo) + if (max_undo < 256) + max_undo = 256; + if (edit->undo_stack_size < (unsigned long) max_undo) { t = g_realloc (edit->undo_stack, (edit->undo_stack_size * 2 + 10) * sizeof (long)); if (t) @@ -2425,9 +2436,9 @@ edit_push_redo_action (WEdit * edit, long c) /* first enlarge the stack if necessary */ if (sp > edit->redo_stack_size - 10) { /* say */ - if (option_max_undo < 256) - option_max_undo = 256; - if (edit->redo_stack_size < (unsigned long) option_max_undo) + if (max_undo < 256) + max_undo = 256; + if (edit->redo_stack_size < (unsigned long) max_undo) { t = g_realloc (edit->redo_stack, (edit->redo_stack_size * 2 + 10) * sizeof (long)); if (t) @@ -2948,7 +2959,7 @@ edit_move_to_prev_col (WEdit * edit, off_t p) edit_cursor_move (edit, edit_move_forward3 (edit, p, prev + edit->over_col, 0) - edit->buffer.curs1); - if (option_cursor_beyond_eol) + if (edit_options.cursor_beyond_eol) { long line_len; @@ -2970,7 +2981,7 @@ edit_move_to_prev_col (WEdit * edit, off_t p) else { edit->over_col = 0; - if (option_fake_half_tabs && is_in_indent (&edit->buffer)) + if (edit_options.fake_half_tabs && is_in_indent (&edit->buffer)) { long fake_half_tabs; @@ -3342,7 +3353,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) if (char_for_insertion >= 0) { /* if non persistent selection and text selected */ - if (!option_persistent_selections && edit->mark1 != edit->mark2) + if (!edit_options.persistent_selections && edit->mark1 != edit->mark2) edit_block_delete_cmd (edit); if (edit->overwrite) @@ -3355,7 +3366,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) edit_delete (edit, FALSE); } - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit_insert_over (edit); #ifdef HAVE_CHARSET /** @@ -3390,7 +3401,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) #endif edit_insert (edit, char_for_insertion); - if (option_auto_para_formatting) + if (edit_options.auto_para_formatting) { format_paragraph (edit, FALSE); edit->force |= REDRAW_PAGE; @@ -3420,7 +3431,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) case CK_Right: case CK_WordLeft: case CK_WordRight: - if (!option_persistent_selections && edit->mark2 >= 0) + if (!edit_options.persistent_selections && edit->mark2 >= 0) { if (edit->column_highlight) edit_push_undo_action (edit, COLUMN_ON); @@ -3466,16 +3477,16 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) { case CK_BackSpace: /* if non persistent selection and text selected */ - if (!option_persistent_selections && edit->mark1 != edit->mark2) + if (!edit_options.persistent_selections && edit->mark1 != edit->mark2) edit_block_delete_cmd (edit); - else if (option_cursor_beyond_eol && edit->over_col > 0) + else if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit->over_col--; - else if (option_backspace_through_tabs && is_in_indent (&edit->buffer)) + else if (edit_options.backspace_through_tabs && is_in_indent (&edit->buffer)) { while (edit_buffer_get_previous_byte (&edit->buffer) != '\n' && edit->buffer.curs1 > 0) edit_backspace (edit, TRUE); } - else if (option_fake_half_tabs && is_in_indent (&edit->buffer) + else if (edit_options.fake_half_tabs && is_in_indent (&edit->buffer) && right_of_four_spaces (edit)) { int i; @@ -3488,14 +3499,15 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) break; case CK_Delete: /* if non persistent selection and text selected */ - if (!option_persistent_selections && edit->mark1 != edit->mark2) + if (!edit_options.persistent_selections && edit->mark1 != edit->mark2) edit_block_delete_cmd (edit); else { - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit_insert_over (edit); - if (option_fake_half_tabs && is_in_indent (&edit->buffer) && left_of_four_spaces (edit)) + if (edit_options.fake_half_tabs && is_in_indent (&edit->buffer) + && left_of_four_spaces (edit)) { int i; @@ -3511,7 +3523,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) edit_left_delete_word (edit); break; case CK_DeleteToWordEnd: - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit_insert_over (edit); edit_right_delete_word (edit); @@ -3527,17 +3539,17 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) break; case CK_Enter: edit->over_col = 0; - if (option_auto_para_formatting) + if (edit_options.auto_para_formatting) { edit_double_newline (edit); - if (option_return_does_auto_indent && !bracketed_pasting_in_progress) + if (edit_options.return_does_auto_indent && !bracketed_pasting_in_progress) edit_auto_indent (edit); format_paragraph (edit, FALSE); } else { edit_insert (edit, '\n'); - if (option_return_does_auto_indent && !bracketed_pasting_in_progress) + if (edit_options.return_does_auto_indent && !bracketed_pasting_in_progress) edit_auto_indent (edit); } break; @@ -3564,9 +3576,10 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) MC_FALLTHROUGH; case CK_Left: case CK_MarkLeft: - if (option_fake_half_tabs && is_in_indent (&edit->buffer) && right_of_four_spaces (edit)) + if (edit_options.fake_half_tabs && is_in_indent (&edit->buffer) + && right_of_four_spaces (edit)) { - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit->over_col--; else edit_cursor_move (edit, -HALF_TAB_SIZE); @@ -3580,7 +3593,8 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) MC_FALLTHROUGH; case CK_Right: case CK_MarkRight: - if (option_fake_half_tabs && is_in_indent (&edit->buffer) && left_of_four_spaces (edit)) + if (edit_options.fake_half_tabs && is_in_indent (&edit->buffer) + && left_of_four_spaces (edit)) { edit_cursor_move (edit, HALF_TAB_SIZE); edit->force &= (0xFFF - REDRAW_CHAR_ONLY); @@ -3658,7 +3672,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) break; case CK_Tab: /* if text marked shift block */ - if (edit->mark1 != edit->mark2 && !option_persistent_selections) + if (edit->mark1 != edit->mark2 && !edit_options.persistent_selections) { if (edit->mark2 < 0) edit_mark_cmd (edit, FALSE); @@ -3666,10 +3680,10 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) } else { - if (option_cursor_beyond_eol) + if (edit_options.cursor_beyond_eol) edit_insert_over (edit); edit_tab_cmd (edit); - if (option_auto_para_formatting) + if (edit_options.auto_para_formatting) { format_paragraph (edit, FALSE); edit->force |= REDRAW_PAGE; @@ -3776,7 +3790,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) break; case CK_Copy: - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit_insert_over (edit); edit_block_copy_cmd (edit); break; @@ -3803,12 +3817,12 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) break; case CK_Paste: /* if non persistent selection and text selected */ - if (!option_persistent_selections && edit->mark1 != edit->mark2) + if (!edit_options.persistent_selections && edit->mark1 != edit->mark2) edit_block_delete_cmd (edit); - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit_insert_over (edit); edit_paste_from_X_buf_cmd (edit); - if (!option_persistent_selections && edit->mark2 >= 0) + if (!edit_options.persistent_selections && edit->mark2 >= 0) { if (edit->column_highlight) edit_push_undo_action (edit, COLUMN_ON); @@ -3858,7 +3872,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) break; case CK_Complete: /* if text marked shift block */ - if (edit->mark1 != edit->mark2 && !option_persistent_selections) + if (edit->mark1 != edit->mark2 && !edit_options.persistent_selections) edit_move_block_to_left (edit); else edit_complete_word_cmd (edit); @@ -3989,7 +4003,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) } edit_find_bracket (edit); - if (option_auto_para_formatting) + if (edit_options.auto_para_formatting) { switch (command) { diff --git a/src/editor/edit.h b/src/editor/edit.h index 6c519e9d3..358aa3f14 100644 --- a/src/editor/edit.h +++ b/src/editor/edit.h @@ -20,6 +20,9 @@ #define DEFAULT_WRAP_LINE_LENGTH 72 +#define EDIT(x) ((WEdit *)(x)) +#define CONST_EDIT(x) ((const WEdit *)(x)) + /*** enums ***************************************************************************************/ /*** structures declarations (and typedefs of structures)*****************************************/ @@ -28,37 +31,40 @@ struct WEdit; typedef struct WEdit WEdit; +typedef struct +{ + int word_wrap_line_length; + gboolean typewriter_wrap; + gboolean auto_para_formatting; + gboolean fill_tabs_with_spaces; + gboolean return_does_auto_indent; + gboolean backspace_through_tabs; + gboolean fake_half_tabs; + gboolean persistent_selections; + gboolean drop_selection_on_copy; /* whether we need to drop selection on copy to buffer */ + gboolean cursor_beyond_eol; + gboolean cursor_after_inserted_block; + gboolean state_full_filename; + gboolean line_state; + int line_state_width; + int save_mode; + gboolean confirm_save; /* queries on a save */ + gboolean save_position; + gboolean syntax_highlighting; + gboolean group_undo; + char *backup_ext; + char *filesize_threshold; + char *stop_format_chars; + gboolean visible_tabs; + gboolean visible_tws; + gboolean show_right_margin; + gboolean simple_statusbar; /* statusbar draw style */ + gboolean check_nl_at_eof; +} edit_options_t; + /*** global variables defined in .c file *********************************************************/ -extern int option_word_wrap_line_length; -extern gboolean option_typewriter_wrap; -extern gboolean option_auto_para_formatting; -extern gboolean option_fill_tabs_with_spaces; -extern gboolean option_return_does_auto_indent; -extern gboolean option_backspace_through_tabs; -extern gboolean option_fake_half_tabs; -extern gboolean option_persistent_selections; -extern gboolean option_drop_selection_on_copy; -extern gboolean option_cursor_beyond_eol; -extern gboolean option_cursor_after_inserted_block; -extern gboolean option_state_full_filename; -extern gboolean option_line_state; -extern int option_save_mode; -extern gboolean option_save_position; -extern gboolean option_syntax_highlighting; -extern gboolean option_group_undo; -extern char *option_backup_ext; -extern char *option_filesize_threshold; -extern char *option_stop_format_chars; - -extern gboolean edit_confirm_save; - -extern gboolean visible_tabs; -extern gboolean visible_tws; - -extern gboolean simple_statusbar; -extern gboolean option_check_nl_at_eof; -extern gboolean show_right_margin; +extern edit_options_t edit_options; /*** declarations of public functions ************************************************************/ diff --git a/src/editor/editbuffer.c b/src/editor/editbuffer.c index 7a5741b92..24bc7eeab 100644 --- a/src/editor/editbuffer.c +++ b/src/editor/editbuffer.c @@ -98,6 +98,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -144,8 +146,8 @@ edit_buffer_get_byte_ptr (const edit_buffer_t * buf, off_t byte_index) void edit_buffer_init (edit_buffer_t * buf, off_t size) { - buf->b1 = g_ptr_array_sized_new (32); - buf->b2 = g_ptr_array_sized_new (32); + buf->b1 = g_ptr_array_new_full (32, g_free); + buf->b2 = g_ptr_array_new_full (32, g_free); buf->curs1 = 0; buf->curs2 = 0; @@ -165,16 +167,10 @@ void edit_buffer_clean (edit_buffer_t * buf) { if (buf->b1 != NULL) - { - g_ptr_array_foreach (buf->b1, (GFunc) g_free, NULL); g_ptr_array_free (buf->b1, TRUE); - } if (buf->b2 != NULL) - { - g_ptr_array_foreach (buf->b2, (GFunc) g_free, NULL); g_ptr_array_free (buf->b2, TRUE); - } } /* --------------------------------------------------------------------------------------------- */ @@ -577,7 +573,6 @@ edit_buffer_delete (edit_buffer_t * buf) j = buf->b2->len - 1; b = g_ptr_array_index (buf->b2, j); g_ptr_array_remove_index (buf->b2, j); - g_free (b); } buf->curs2 = prev; @@ -618,7 +613,6 @@ edit_buffer_backspace (edit_buffer_t * buf) j = buf->b1->len - 1; b = g_ptr_array_index (buf->b1, j); g_ptr_array_remove_index (buf->b1, j); - g_free (b); } buf->curs1 = prev; diff --git a/src/editor/editcmd.c b/src/editor/editcmd.c index cf551c8e2..655d53397 100644 --- a/src/editor/editcmd.c +++ b/src/editor/editcmd.c @@ -61,7 +61,6 @@ #include "src/history.h" #include "src/file_history.h" /* show_file_history() */ -#include "src/setup.h" /* option_tab_spacing */ #ifdef HAVE_CHARSET #include "src/selcodepage.h" #endif @@ -77,12 +76,6 @@ /* search and replace: */ int search_create_bookmark = FALSE; -/* queries on a save */ -gboolean edit_confirm_save = TRUE; - -/* whether we need to drop selection on copy to buffer */ -gboolean option_drop_selection_on_copy = TRUE; - /*** file scope macro definitions ****************************************************************/ #define space_width 1 @@ -91,6 +84,8 @@ gboolean option_drop_selection_on_copy = TRUE; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static unsigned long edit_save_mode_radio_id, edit_save_mode_input_id; @@ -158,7 +153,7 @@ edit_save_file (WEdit * edit, const vfs_path_t * filename_vpath) else real_filename_vpath = vfs_path_clone (filename_vpath); - this_save_mode = option_save_mode; + this_save_mode = edit_options.save_mode; if (this_save_mode != EDIT_QUICK_SAVE) { if (!vfs_file_is_local (real_filename_vpath)) @@ -337,13 +332,14 @@ edit_save_file (WEdit * edit, const vfs_path_t * filename_vpath) vfs_path_t *tmp_vpath; gboolean ok; - g_assert (option_backup_ext != NULL); + g_assert (edit_options.backup_ext != NULL); /* add backup extension to the path */ tmp_vpath = vfs_path_clone (real_filename_vpath); last_vpath_element = (vfs_path_element_t *) vfs_path_get_by_index (tmp_vpath, -1); tmp_store_filename = last_vpath_element->path; - last_vpath_element->path = g_strdup_printf ("%s%s", tmp_store_filename, option_backup_ext); + last_vpath_element->path = + g_strdup_printf ("%s%s", tmp_store_filename, edit_options.backup_ext); g_free (tmp_store_filename); ok = (mc_rename (real_filename_vpath, tmp_vpath) != -1); @@ -373,7 +369,7 @@ edit_save_file (WEdit * edit, const vfs_path_t * filename_vpath) static gboolean edit_check_newline (const edit_buffer_t * buf) { - return !(option_check_nl_at_eof && buf->size > 0 + return !(edit_options.check_nl_at_eof && buf->size > 0 && edit_buffer_get_byte (buf, buf->size - 1) != '\n' && edit_query_dialog2 (_("Warning"), _("The file you are saving does not end with a newline."), @@ -518,7 +514,7 @@ edit_block_delete (WEdit * edit) edit_mark_cmd (edit, FALSE); /* Warning message with a query to continue or cancel the operation */ - if ((end_mark - start_mark) > option_max_undo / 2 && + if ((end_mark - start_mark) > max_undo / 2 && edit_query_dialog2 (_("Warning"), ("Block is large, you may not be able to undo this action"), _("C&ontinue"), _("&Cancel")) != 0) @@ -553,7 +549,7 @@ edit_block_delete (WEdit * edit) /* calculate line width and cursor position before cut */ line_width = edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), 0, edit_buffer_get_current_eol (&edit->buffer)); - if (option_cursor_beyond_eol && curs_pos > line_width) + if (edit_options.cursor_beyond_eol && curs_pos > line_width) edit->over_col = curs_pos - line_width; } else @@ -734,9 +730,9 @@ edit_syntax_onoff_cb (void *data, void *user_data) if (edit_widget_is_editor (CONST_WIDGET (data))) { - WEdit *edit = (WEdit *) data; + WEdit *edit = EDIT (data); - if (option_syntax_highlighting) + if (edit_options.syntax_highlighting) edit_load_syntax (edit, NULL, edit->syntax_type); edit->force |= REDRAW_PAGE; } @@ -783,7 +779,7 @@ edit_refresh_cmd (void) void edit_syntax_onoff_cmd (WDialog * h) { - option_syntax_highlighting = !option_syntax_highlighting; + edit_options.syntax_highlighting = !edit_options.syntax_highlighting; g_list_foreach (GROUP (h)->widgets, edit_syntax_onoff_cb, NULL); widget_draw (WIDGET (h)); } @@ -812,7 +808,7 @@ edit_show_tabs_tws_cmd (WDialog * h) void edit_show_margin_cmd (WDialog * h) { - show_right_margin = !show_right_margin; + edit_options.show_right_margin = !edit_options.show_right_margin; widget_draw (WIDGET (h)); } @@ -826,8 +822,8 @@ edit_show_margin_cmd (WDialog * h) void edit_show_numbers_cmd (WDialog * h) { - option_line_state = !option_line_state; - option_line_state_width = option_line_state ? LINE_STATE_WIDTH : 0; + edit_options.line_state = !edit_options.line_state; + edit_options.line_state_width = edit_options.line_state ? LINE_STATE_WIDTH : 0; widget_draw (WIDGET (h)); } @@ -851,16 +847,16 @@ edit_save_mode_cmd (void) str[i] = _(str[i]); #endif - g_assert (option_backup_ext != NULL); + g_assert (edit_options.backup_ext != NULL); { quick_widget_t quick_widgets[] = { /* *INDENT-OFF* */ - QUICK_RADIO (3, str, &option_save_mode, &edit_save_mode_radio_id), - QUICK_INPUT (option_backup_ext, "edit-backup-ext", &str_result, + QUICK_RADIO (3, str, &edit_options.save_mode, &edit_save_mode_radio_id), + QUICK_INPUT (edit_options.backup_ext, "edit-backup-ext", &str_result, &edit_save_mode_input_id, FALSE, FALSE, INPUT_COMPLETE_NONE), QUICK_SEPARATOR (TRUE), - QUICK_CHECKBOX (N_("Check &POSIX new line"), &option_check_nl_at_eof, NULL), + QUICK_CHECKBOX (N_("Check &POSIX new line"), &edit_options.check_nl_at_eof, NULL), QUICK_BUTTONS_OK_CANCEL, QUICK_END /* *INDENT-ON* */ @@ -875,8 +871,8 @@ edit_save_mode_cmd (void) if (quick_dialog (&qdlg) != B_CANCEL) { - g_free (option_backup_ext); - option_backup_ext = str_result; + g_free (edit_options.backup_ext); + edit_options.backup_ext = str_result; } } } @@ -1011,7 +1007,7 @@ edit_save_confirm_cmd (WEdit * edit) if (!edit_check_newline (&edit->buffer)) return FALSE; - if (edit_confirm_save) + if (edit_options.confirm_save) { char *f; gboolean ok; @@ -1245,10 +1241,10 @@ edit_close_cmd (WEdit * edit) widget_destroy (w); if (edit_widget_is_editor (CONST_WIDGET (g->current->data))) - edit = (WEdit *) (g->current->data); + edit = EDIT (g->current->data); else { - edit = find_editor (DIALOG (g)); + edit = edit_find_editor (DIALOG (g)); if (edit != NULL) widget_select (WIDGET (edit)); } @@ -1362,7 +1358,7 @@ edit_block_copy_cmd (WEdit * edit) edit_insert_ahead (edit, copy_buf[size]); /* Place cursor at the end of text selection */ - if (option_cursor_after_inserted_block) + if (edit_options.cursor_after_inserted_block) edit_cursor_move (edit, size_orig); } @@ -1439,7 +1435,7 @@ edit_block_move_cmd (WEdit * edit) edit_scroll_screen_over_cursor (edit); /* add TWS if need before block insertion */ - if (option_cursor_beyond_eol && edit->over_col > 0) + if (edit_options.cursor_beyond_eol && edit->over_col > 0) edit_insert_over (edit); edit_insert_column_of_text (edit, copy_buf, size, b_width, &mark1, &mark2, &c1, &c2); @@ -1470,7 +1466,7 @@ edit_block_move_cmd (WEdit * edit) 0); /* Place cursor at the end of text selection */ - if (option_cursor_after_inserted_block) + if (edit_options.cursor_after_inserted_block) edit_cursor_move (edit, count_orig - start_mark); } @@ -1649,7 +1645,7 @@ edit_copy_to_X_buf_cmd (WEdit * edit) /* try use external clipboard utility */ mc_event_raise (MCEVENT_GROUP_CORE, "clipboard_file_to_ext_clip", NULL); - if (option_drop_selection_on_copy) + if (edit_options.drop_selection_on_copy) edit_mark_cmd (edit, TRUE); return TRUE; diff --git a/src/editor/editcomplete.c b/src/editor/editcomplete.c index d0c31b9e8..41181e895 100644 --- a/src/editor/editcomplete.c +++ b/src/editor/editcomplete.c @@ -51,6 +51,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -278,7 +280,7 @@ edit_collect_completions (WEdit * edit, off_t word_start, gsize word_len, if (!edit_widget_is_editor (ww)) continue; - e = (WEdit *) ww; + e = EDIT (ww); if (e == edit) continue; @@ -361,13 +363,13 @@ edit_completion_dialog_show (const WEdit * edit, GQueue * compl, int max_width) compl_dlg_h = g_queue_get_length (compl) + 2; compl_dlg_w = max_width + 4; start_x = we->x + edit->curs_col + edit->start_col + EDIT_TEXT_HORIZONTAL_OFFSET + - (edit->fullscreen ? 0 : 1) + option_line_state_width; + (edit->fullscreen ? 0 : 1) + edit_options.line_state_width; start_y = we->y + edit->curs_row + EDIT_TEXT_VERTICAL_OFFSET + (edit->fullscreen ? 0 : 1) + 1; if (start_x < 0) start_x = 0; if (start_x < we->x + 1) - start_x = we->x + 1 + option_line_state_width; + start_x = we->x + 1 + edit_options.line_state_width; if (compl_dlg_w > COLS) compl_dlg_w = COLS; if (compl_dlg_h > LINES - 2) diff --git a/src/editor/editdraw.c b/src/editor/editdraw.c index f528f73ea..2a56b707d 100644 --- a/src/editor/editdraw.c +++ b/src/editor/editdraw.c @@ -53,19 +53,11 @@ #include "lib/charsets.h" #endif -#include "src/setup.h" /* edit_tab_spacing */ - #include "edit-impl.h" #include "editwidget.h" /*** global variables ****************************************************************************/ -/* Toggles statusbar draw style */ -gboolean simple_statusbar = FALSE; - -gboolean visible_tws = TRUE; -gboolean visible_tabs = TRUE; - /*** file scope macro definitions ****************************************************************/ #define MAX_LINE_LEN 1024 @@ -91,6 +83,8 @@ typedef struct unsigned int style; } line_s; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /*** file scope functions ************************************************************************/ @@ -143,7 +137,7 @@ status_string (WEdit * edit, char *s, int w) } /* The field lengths just prevent the status line from shortening too much */ - if (simple_statusbar) + if (edit_options.simple_statusbar) g_snprintf (s, w, "%c%c%c%c %3ld %5ld/%ld %6ld/%ld %s %s", edit->mark1 != edit->mark2 ? (edit->column_highlight ? 'C' : 'B') : '-', @@ -208,7 +202,7 @@ edit_status_fullscreen (WEdit * edit, int color) { fname = vfs_path_get_last_path_str (edit->filename_vpath); - if (!option_state_full_filename) + if (!edit_options.state_full_filename) fname = x_basename (fname); } @@ -230,7 +224,7 @@ edit_status_fullscreen (WEdit * edit, int color) printwstr (fname, fname_len + gap); printwstr (status, w - (fname_len + gap)); - if (simple_statusbar && w > EDITOR_MINIMUM_TERMINAL_WIDTH) + if (edit_options.simple_statusbar && w > EDITOR_MINIMUM_TERMINAL_WIDTH) { int percent; @@ -266,7 +260,7 @@ edit_status_window (WEdit * edit) { fname = vfs_path_get_last_path_str (edit->filename_vpath); - if (!option_state_full_filename) + if (!edit_options.state_full_filename) fname = x_basename (fname); } #ifdef ENABLE_NLS @@ -395,7 +389,7 @@ print_to_widget (WEdit * edit, long row, int start_col, int start_col_real, int len; x = start_col_real; - x1 = start_col + EDIT_TEXT_HORIZONTAL_OFFSET + option_line_state_width; + x1 = start_col + EDIT_TEXT_HORIZONTAL_OFFSET + edit_options.line_state_width; y = row + EDIT_TEXT_VERTICAL_OFFSET; cols_to_skip = abs (x); @@ -410,11 +404,11 @@ print_to_widget (WEdit * edit, long row, int start_col, int start_col_real, tty_setcolor (bookmarked); len = end_col + 1 - start_col; - wrap_start = option_word_wrap_line_length + edit->start_col; + wrap_start = edit_options.word_wrap_line_length + edit->start_col; if (len > 0 && w->rect.y + y >= 0) { - if (!show_right_margin || wrap_start > end_col) + if (!edit_options.show_right_margin || wrap_start > end_col) tty_draw_hline (w->rect.y + y, w->rect.x + x1, ' ', len); else if (wrap_start < 0) { @@ -435,13 +429,13 @@ print_to_widget (WEdit * edit, long row, int start_col, int start_col_real, } } - if (option_line_state) + if (edit_options.line_state) { tty_setcolor (LINE_STATE_COLOR); for (i = 0; i < LINE_STATE_WIDTH; i++) { - edit_move (x1 + i - option_line_state_width, y); + edit_move (x1 + i - edit_options.line_state_width, y); if (status[i] == '\0') status[i] = ' '; tty_print_char (status[i]); @@ -485,9 +479,9 @@ print_to_widget (WEdit * edit, long row, int start_col, int start_col_real, else tty_lowlevel_setcolor (color); - if (show_right_margin) + if (edit_options.show_right_margin) { - if (i > option_word_wrap_line_length + edit->start_col) + if (i > edit_options.word_wrap_line_length + edit->start_col) tty_setcolor (EDITOR_RIGHT_MARGIN_COLOR); i++; } @@ -524,7 +518,7 @@ edit_draw_this_line (WEdit * edit, off_t b, long row, long start_col, long end_c else abn_style = MOD_ABNORMAL; - end_col -= EDIT_TEXT_HORIZONTAL_OFFSET + option_line_state_width; + end_col -= EDIT_TEXT_HORIZONTAL_OFFSET + edit_options.line_state_width; if (!edit->fullscreen) { end_col--; @@ -536,7 +530,7 @@ edit_draw_this_line (WEdit * edit, off_t b, long row, long start_col, long end_c col = (int) edit_move_forward3 (edit, b, 0, q); start_col_real = col + edit->start_col; - if (option_line_state) + if (edit_options.line_state) { long cur_line; @@ -565,7 +559,7 @@ edit_draw_this_line (WEdit * edit, off_t b, long row, long start_col, long end_c { off_t tws = 0; - if (tty_use_colors () && visible_tws) + if (edit_options.visible_tws && tty_use_colors ()) for (tws = edit_buffer_get_eol (&edit->buffer, b); tws > b; tws--) { unsigned int c; @@ -643,8 +637,8 @@ edit_draw_this_line (WEdit * edit, off_t b, long row, long start_col, long end_c if (tab_over < 0) i += tab_over; col += i; - if (tty_use_colors () && (visible_tabs || (visible_tws && q >= tws)) - && enable_show_tabs_tws) + if ((edit_options.visible_tabs || (edit_options.visible_tws && q >= tws)) + && enable_show_tabs_tws && tty_use_colors ()) { if ((p->style & MOD_MARKED) != 0) c = p->style; @@ -683,8 +677,8 @@ edit_draw_this_line (WEdit * edit, off_t b, long row, long start_col, long end_c p++; } } - else if (tty_use_colors () && visible_tws && q >= tws - && enable_show_tabs_tws) + else if (edit_options.visible_tws && q >= tws && enable_show_tabs_tws + && tty_use_colors ()) { p->ch = '.'; p->style |= MOD_WHITESPACE; @@ -713,7 +707,8 @@ edit_draw_this_line (WEdit * edit, off_t b, long row, long start_col, long end_c break; case ' ': - if (tty_use_colors () && visible_tws && q >= tws && enable_show_tabs_tws) + if (edit_options.visible_tws && q >= tws && enable_show_tabs_tws + && tty_use_colors ()) { p->ch = '.'; p->style |= MOD_WHITESPACE; @@ -1060,7 +1055,7 @@ edit_scroll_screen_over_cursor (WEdit * edit) return; rect_resize (w, -EDIT_TEXT_VERTICAL_OFFSET, - -(EDIT_TEXT_HORIZONTAL_OFFSET + option_line_state_width)); + -(EDIT_TEXT_HORIZONTAL_OFFSET + edit_options.line_state_width)); if (!edit->fullscreen) rect_grow (w, -1, -1); @@ -1112,7 +1107,7 @@ edit_scroll_screen_over_cursor (WEdit * edit) edit_update_curs_row (edit); rect_resize (w, EDIT_TEXT_VERTICAL_OFFSET, - EDIT_TEXT_HORIZONTAL_OFFSET + option_line_state_width); + EDIT_TEXT_HORIZONTAL_OFFSET + edit_options.line_state_width); if (!edit->fullscreen) rect_grow (w, 1, 1); } diff --git a/src/editor/editmacros.c b/src/editor/editmacros.c index 28df30cea..82fe82b8f 100644 --- a/src/editor/editmacros.c +++ b/src/editor/editmacros.c @@ -43,6 +43,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/editor/editmenu.c b/src/editor/editmenu.c index 4127ee280..55590d75c 100644 --- a/src/editor/editmenu.c +++ b/src/editor/editmenu.c @@ -60,8 +60,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -70,22 +73,22 @@ create_file_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&Open file..."), CK_EditFile)); - entries = g_list_prepend (entries, menu_entry_create (_("&New"), CK_EditNew)); - entries = g_list_prepend (entries, menu_entry_create (_("&Close"), CK_Close)); - entries = g_list_prepend (entries, menu_entry_create (_("&History..."), CK_History)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Save"), CK_Save)); - entries = g_list_prepend (entries, menu_entry_create (_("Save &as..."), CK_SaveAs)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Insert file..."), CK_InsertFile)); - entries = g_list_prepend (entries, menu_entry_create (_("Cop&y to file..."), CK_BlockSave)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&User menu..."), CK_UserMenu)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("A&bout..."), CK_About)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Quit"), CK_Quit)); + entries = g_list_prepend (entries, menu_entry_new (_("&Open file..."), CK_EditFile)); + entries = g_list_prepend (entries, menu_entry_new (_("&New"), CK_EditNew)); + entries = g_list_prepend (entries, menu_entry_new (_("&Close"), CK_Close)); + entries = g_list_prepend (entries, menu_entry_new (_("&History..."), CK_History)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Save"), CK_Save)); + entries = g_list_prepend (entries, menu_entry_new (_("Save &as..."), CK_SaveAs)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Insert file..."), CK_InsertFile)); + entries = g_list_prepend (entries, menu_entry_new (_("Cop&y to file..."), CK_BlockSave)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&User menu..."), CK_UserMenu)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("A&bout..."), CK_About)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Quit"), CK_Quit)); return g_list_reverse (entries); } @@ -97,27 +100,26 @@ create_edit_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&Undo"), CK_Undo)); - entries = g_list_prepend (entries, menu_entry_create (_("&Redo"), CK_Redo)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = - g_list_prepend (entries, menu_entry_create (_("&Toggle ins/overw"), CK_InsertOverwrite)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("To&ggle mark"), CK_Mark)); - entries = g_list_prepend (entries, menu_entry_create (_("&Mark columns"), CK_MarkColumn)); - entries = g_list_prepend (entries, menu_entry_create (_("Mark &all"), CK_MarkAll)); - entries = g_list_prepend (entries, menu_entry_create (_("Unmar&k"), CK_Unmark)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("Cop&y"), CK_Copy)); - entries = g_list_prepend (entries, menu_entry_create (_("Mo&ve"), CK_Move)); - entries = g_list_prepend (entries, menu_entry_create (_("&Delete"), CK_Remove)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("Co&py to clipfile"), CK_Store)); - entries = g_list_prepend (entries, menu_entry_create (_("&Cut to clipfile"), CK_Cut)); - entries = g_list_prepend (entries, menu_entry_create (_("Pa&ste from clipfile"), CK_Paste)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Beginning"), CK_Top)); - entries = g_list_prepend (entries, menu_entry_create (_("&End"), CK_Bottom)); + entries = g_list_prepend (entries, menu_entry_new (_("&Undo"), CK_Undo)); + entries = g_list_prepend (entries, menu_entry_new (_("&Redo"), CK_Redo)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Toggle ins/overw"), CK_InsertOverwrite)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("To&ggle mark"), CK_Mark)); + entries = g_list_prepend (entries, menu_entry_new (_("&Mark columns"), CK_MarkColumn)); + entries = g_list_prepend (entries, menu_entry_new (_("Mark &all"), CK_MarkAll)); + entries = g_list_prepend (entries, menu_entry_new (_("Unmar&k"), CK_Unmark)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("Cop&y"), CK_Copy)); + entries = g_list_prepend (entries, menu_entry_new (_("Mo&ve"), CK_Move)); + entries = g_list_prepend (entries, menu_entry_new (_("&Delete"), CK_Remove)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("Co&py to clipfile"), CK_Store)); + entries = g_list_prepend (entries, menu_entry_new (_("&Cut to clipfile"), CK_Cut)); + entries = g_list_prepend (entries, menu_entry_new (_("Pa&ste from clipfile"), CK_Paste)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Beginning"), CK_Top)); + entries = g_list_prepend (entries, menu_entry_new (_("&End"), CK_Bottom)); return g_list_reverse (entries); } @@ -129,14 +131,14 @@ create_search_replace_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&Search..."), CK_Search)); - entries = g_list_prepend (entries, menu_entry_create (_("Search &again"), CK_SearchContinue)); - entries = g_list_prepend (entries, menu_entry_create (_("&Replace..."), CK_Replace)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Toggle bookmark"), CK_Bookmark)); - entries = g_list_prepend (entries, menu_entry_create (_("&Next bookmark"), CK_BookmarkNext)); - entries = g_list_prepend (entries, menu_entry_create (_("&Prev bookmark"), CK_BookmarkPrev)); - entries = g_list_prepend (entries, menu_entry_create (_("&Flush bookmarks"), CK_BookmarkFlush)); + entries = g_list_prepend (entries, menu_entry_new (_("&Search..."), CK_Search)); + entries = g_list_prepend (entries, menu_entry_new (_("Search &again"), CK_SearchContinue)); + entries = g_list_prepend (entries, menu_entry_new (_("&Replace..."), CK_Replace)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Toggle bookmark"), CK_Bookmark)); + entries = g_list_prepend (entries, menu_entry_new (_("&Next bookmark"), CK_BookmarkNext)); + entries = g_list_prepend (entries, menu_entry_new (_("&Prev bookmark"), CK_BookmarkPrev)); + entries = g_list_prepend (entries, menu_entry_new (_("&Flush bookmarks"), CK_BookmarkFlush)); return g_list_reverse (entries); } @@ -148,49 +150,45 @@ create_command_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&Go to line..."), CK_Goto)); - entries = g_list_prepend (entries, menu_entry_create (_("&Toggle line state"), CK_ShowNumbers)); + entries = g_list_prepend (entries, menu_entry_new (_("&Go to line..."), CK_Goto)); + entries = g_list_prepend (entries, menu_entry_new (_("&Toggle line state"), CK_ShowNumbers)); entries = - g_list_prepend (entries, menu_entry_create (_("Go to matching &bracket"), CK_MatchBracket)); + g_list_prepend (entries, menu_entry_new (_("Go to matching &bracket"), CK_MatchBracket)); entries = - g_list_prepend (entries, - menu_entry_create (_("Toggle s&yntax highlighting"), CK_SyntaxOnOff)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Find declaration"), CK_Find)); - entries = - g_list_prepend (entries, menu_entry_create (_("Back from &declaration"), CK_FilePrev)); - entries = - g_list_prepend (entries, menu_entry_create (_("For&ward to declaration"), CK_FileNext)); + g_list_prepend (entries, menu_entry_new (_("Toggle s&yntax highlighting"), CK_SyntaxOnOff)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Find declaration"), CK_Find)); + entries = g_list_prepend (entries, menu_entry_new (_("Back from &declaration"), CK_FilePrev)); + entries = g_list_prepend (entries, menu_entry_new (_("For&ward to declaration"), CK_FileNext)); #ifdef HAVE_CHARSET - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("Encod&ing..."), CK_SelectCodepage)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("Encod&ing..."), CK_SelectCodepage)); #endif - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Refresh screen"), CK_Refresh)); - entries = g_list_prepend (entries, menu_separator_create ()); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Refresh screen"), CK_Refresh)); + entries = g_list_prepend (entries, menu_separator_new ()); entries = g_list_prepend (entries, - menu_entry_create (_("&Start/Stop record macro"), CK_MacroStartStopRecord)); - entries = g_list_prepend (entries, menu_entry_create (_("Delete macr&o..."), CK_MacroDelete)); + menu_entry_new (_("&Start/Stop record macro"), CK_MacroStartStopRecord)); + entries = g_list_prepend (entries, menu_entry_new (_("Delete macr&o..."), CK_MacroDelete)); entries = g_list_prepend (entries, - menu_entry_create (_("Record/Repeat &actions"), CK_RepeatStartStopRecord)); - entries = g_list_prepend (entries, menu_separator_create ()); + menu_entry_new (_("Record/Repeat &actions"), CK_RepeatStartStopRecord)); + entries = g_list_prepend (entries, menu_separator_new ()); #ifdef HAVE_ASPELL if (strcmp (spell_language, "NONE") != 0) { - entries = g_list_prepend (entries, menu_entry_create (_("S&pell check"), CK_SpellCheck)); + entries = g_list_prepend (entries, menu_entry_new (_("S&pell check"), CK_SpellCheck)); + entries = + g_list_prepend (entries, menu_entry_new (_("C&heck word"), CK_SpellCheckCurrentWord)); entries = g_list_prepend (entries, - menu_entry_create (_("C&heck word"), CK_SpellCheckCurrentWord)); - entries = - g_list_prepend (entries, - menu_entry_create (_("Change spelling &language..."), - CK_SpellCheckSelectLang)); - entries = g_list_prepend (entries, menu_separator_create ()); + menu_entry_new (_("Change spelling &language..."), + CK_SpellCheckSelectLang)); + entries = g_list_prepend (entries, menu_separator_new ()); } #endif /* HAVE_ASPELL */ - entries = g_list_prepend (entries, menu_entry_create (_("&Mail..."), CK_EditMail)); + entries = g_list_prepend (entries, menu_entry_new (_("&Mail..."), CK_EditMail)); return g_list_reverse (entries); @@ -203,17 +201,14 @@ create_format_menu (void) { GList *entries = NULL; + entries = g_list_prepend (entries, menu_entry_new (_("Insert &literal..."), CK_InsertLiteral)); + entries = g_list_prepend (entries, menu_entry_new (_("Insert &date/time"), CK_Date)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Format paragraph"), CK_ParagraphFormat)); + entries = g_list_prepend (entries, menu_entry_new (_("&Sort..."), CK_Sort)); entries = - g_list_prepend (entries, menu_entry_create (_("Insert &literal..."), CK_InsertLiteral)); - entries = g_list_prepend (entries, menu_entry_create (_("Insert &date/time"), CK_Date)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = - g_list_prepend (entries, menu_entry_create (_("&Format paragraph"), CK_ParagraphFormat)); - entries = g_list_prepend (entries, menu_entry_create (_("&Sort..."), CK_Sort)); - entries = - g_list_prepend (entries, menu_entry_create (_("&Paste output of..."), CK_ExternalCommand)); - entries = - g_list_prepend (entries, menu_entry_create (_("&External formatter"), CK_PipeBlock (0))); + g_list_prepend (entries, menu_entry_new (_("&Paste output of..."), CK_ExternalCommand)); + entries = g_list_prepend (entries, menu_entry_new (_("&External formatter"), CK_PipeBlock (0))); return g_list_reverse (entries); } @@ -228,14 +223,14 @@ create_window_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&Move"), CK_WindowMove)); - entries = g_list_prepend (entries, menu_entry_create (_("&Resize"), CK_WindowResize)); + entries = g_list_prepend (entries, menu_entry_new (_("&Move"), CK_WindowMove)); + entries = g_list_prepend (entries, menu_entry_new (_("&Resize"), CK_WindowResize)); entries = - g_list_prepend (entries, menu_entry_create (_("&Toggle fullscreen"), CK_WindowFullscreen)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Next"), CK_WindowNext)); - entries = g_list_prepend (entries, menu_entry_create (_("&Previous"), CK_WindowPrev)); - entries = g_list_prepend (entries, menu_entry_create (_("&List..."), CK_WindowList)); + g_list_prepend (entries, menu_entry_new (_("&Toggle fullscreen"), CK_WindowFullscreen)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Next"), CK_WindowNext)); + entries = g_list_prepend (entries, menu_entry_new (_("&Previous"), CK_WindowPrev)); + entries = g_list_prepend (entries, menu_entry_new (_("&List..."), CK_WindowList)); return g_list_reverse (entries); } @@ -247,16 +242,16 @@ create_options_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&General..."), CK_Options)); - entries = g_list_prepend (entries, menu_entry_create (_("Save &mode..."), CK_OptionsSaveMode)); - entries = g_list_prepend (entries, menu_entry_create (_("Learn &keys..."), CK_LearnKeys)); + entries = g_list_prepend (entries, menu_entry_new (_("&General..."), CK_Options)); + entries = g_list_prepend (entries, menu_entry_new (_("Save &mode..."), CK_OptionsSaveMode)); + entries = g_list_prepend (entries, menu_entry_new (_("Learn &keys..."), CK_LearnKeys)); entries = - g_list_prepend (entries, menu_entry_create (_("Syntax &highlighting..."), CK_SyntaxChoose)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("S&yntax file"), CK_EditSyntaxFile)); - entries = g_list_prepend (entries, menu_entry_create (_("&Menu file"), CK_EditUserMenu)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Save setup"), CK_SaveSetup)); + g_list_prepend (entries, menu_entry_new (_("Syntax &highlighting..."), CK_SyntaxChoose)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("S&yntax file"), CK_EditSyntaxFile)); + entries = g_list_prepend (entries, menu_entry_new (_("&Menu file"), CK_EditUserMenu)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Save setup"), CK_SaveSetup)); return g_list_reverse (entries); } @@ -268,7 +263,7 @@ edit_drop_menu_cmd (WDialog * h, int which) { WMenuBar *menubar; - menubar = find_menubar (h); + menubar = menubar_find (h); menubar_activate (menubar, drop_menus, which); } @@ -280,22 +275,20 @@ void edit_init_menu (WMenuBar * menubar) { menubar_add_menu (menubar, - create_menu (_("&File"), create_file_menu (), "[Internal File Editor]")); + menu_new (_("&File"), create_file_menu (), "[Internal File Editor]")); menubar_add_menu (menubar, - create_menu (_("&Edit"), create_edit_menu (), "[Internal File Editor]")); + menu_new (_("&Edit"), create_edit_menu (), "[Internal File Editor]")); menubar_add_menu (menubar, - create_menu (_("&Search"), create_search_replace_menu (), - "[Internal File Editor]")); + menu_new (_("&Search"), create_search_replace_menu (), + "[Internal File Editor]")); menubar_add_menu (menubar, - create_menu (_("&Command"), create_command_menu (), - "[Internal File Editor]")); + menu_new (_("&Command"), create_command_menu (), "[Internal File Editor]")); menubar_add_menu (menubar, - create_menu (_("For&mat"), create_format_menu (), "[Internal File Editor]")); + menu_new (_("For&mat"), create_format_menu (), "[Internal File Editor]")); menubar_add_menu (menubar, - create_menu (_("&Window"), create_window_menu (), "[Internal File Editor]")); + menu_new (_("&Window"), create_window_menu (), "[Internal File Editor]")); menubar_add_menu (menubar, - create_menu (_("&Options"), create_options_menu (), - "[Internal File Editor]")); + menu_new (_("&Options"), create_options_menu (), "[Internal File Editor]")); } /* --------------------------------------------------------------------------------------------- */ diff --git a/src/editor/editoptions.c b/src/editor/editoptions.c index e41d45af7..9e059f330 100644 --- a/src/editor/editoptions.c +++ b/src/editor/editoptions.c @@ -39,7 +39,6 @@ #include "editwidget.h" #include "edit-impl.h" -#include "src/setup.h" /* option_tab_spacing */ /*** global variables ****************************************************************************/ @@ -47,6 +46,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const char *wrap_str[] = { @@ -56,6 +57,7 @@ static const char *wrap_str[] = { NULL }; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -70,6 +72,7 @@ i18n_translate_array (const char *array[]) } } #endif /* ENABLE_NLS */ + /* --------------------------------------------------------------------------------------------- */ /** * Callback for the iteration of objects in the 'editors' array. @@ -85,7 +88,7 @@ edit_reset_over_col (void *data, void *user_data) (void) user_data; if (edit_widget_is_editor (CONST_WIDGET (data))) - ((WEdit *) data)->over_col = 0; + EDIT (data)->over_col = 0; } /* --------------------------------------------------------------------------------------------- */ @@ -104,7 +107,7 @@ edit_reload_syntax (void *data, void *user_data) if (edit_widget_is_editor (CONST_WIDGET (data))) { - WEdit *edit = (WEdit *) data; + WEdit *edit = EDIT (data); edit_load_syntax (edit, NULL, edit->syntax_type); } @@ -132,12 +135,12 @@ edit_options_dialog (WDialog * h) } #endif /* ENABLE_NLS */ - g_snprintf (wrap_length, sizeof (wrap_length), "%d", option_word_wrap_line_length); - g_snprintf (tab_spacing, sizeof (tab_spacing), "%d", option_tab_spacing); + g_snprintf (wrap_length, sizeof (wrap_length), "%d", edit_options.word_wrap_line_length); + g_snprintf (tab_spacing, sizeof (tab_spacing), "%d", TAB_SIZE); - if (option_auto_para_formatting) + if (edit_options.auto_para_formatting) wrap_mode = 1; - else if (option_typewriter_wrap) + else if (edit_options.typewriter_wrap) wrap_mode = 2; else wrap_mode = 0; @@ -152,29 +155,27 @@ edit_options_dialog (WDialog * h) QUICK_SEPARATOR (FALSE), QUICK_SEPARATOR (FALSE), QUICK_START_GROUPBOX (N_("Tabulation")), - QUICK_CHECKBOX (N_("&Fake half tabs"), &option_fake_half_tabs, NULL), - QUICK_CHECKBOX (N_("&Backspace through tabs"), &option_backspace_through_tabs, - NULL), - QUICK_CHECKBOX (N_("Fill tabs with &spaces"), &option_fill_tabs_with_spaces, - NULL), + QUICK_CHECKBOX (N_("&Fake half tabs"), &edit_options.fake_half_tabs, NULL), + QUICK_CHECKBOX (N_("&Backspace through tabs"), + &edit_options.backspace_through_tabs, NULL), + QUICK_CHECKBOX (N_("Fill tabs with &spaces"), + &edit_options.fill_tabs_with_spaces, NULL), QUICK_LABELED_INPUT (N_("Tab spacing:"), input_label_left, tab_spacing, - "edit-tab-spacing", &q, NULL, FALSE, FALSE, INPUT_COMPLETE_NONE), + "edit-tab-spacing", &q, NULL, FALSE, FALSE, INPUT_COMPLETE_NONE), QUICK_STOP_GROUPBOX, QUICK_NEXT_COLUMN, QUICK_START_GROUPBOX (N_("Other options")), - QUICK_CHECKBOX (N_("&Return does autoindent"), &option_return_does_auto_indent, - NULL), - QUICK_CHECKBOX (N_("Confir&m before saving"), &edit_confirm_save, NULL), - QUICK_CHECKBOX (N_("Save file &position"), &option_save_position, NULL), - QUICK_CHECKBOX (N_("&Visible trailing spaces"), &visible_tws, NULL), - QUICK_CHECKBOX (N_("Visible &tabs"), &visible_tabs, NULL), - QUICK_CHECKBOX (N_("Synta&x highlighting"), &option_syntax_highlighting, NULL), - QUICK_CHECKBOX (N_("C&ursor after inserted block"), &option_cursor_after_inserted_block, NULL), - QUICK_CHECKBOX (N_("Pers&istent selection"), &option_persistent_selections, - NULL), - QUICK_CHECKBOX (N_("Cursor be&yond end of line"), &option_cursor_beyond_eol, - NULL), - QUICK_CHECKBOX (N_("&Group undo"), &option_group_undo, NULL), + QUICK_CHECKBOX (N_("&Return does autoindent"), &edit_options.return_does_auto_indent, NULL), + QUICK_CHECKBOX (N_("Confir&m before saving"), &edit_options.confirm_save, NULL), + QUICK_CHECKBOX (N_("Save file &position"), &edit_options.save_position, NULL), + QUICK_CHECKBOX (N_("&Visible trailing spaces"), &edit_options.visible_tws, NULL), + QUICK_CHECKBOX (N_("Visible &tabs"), &edit_options.visible_tabs, NULL), + QUICK_CHECKBOX (N_("Synta&x highlighting"), &edit_options.syntax_highlighting, NULL), + QUICK_CHECKBOX (N_("C&ursor after inserted block"), + &edit_options.cursor_after_inserted_block, NULL), + QUICK_CHECKBOX (N_("Pers&istent selection"), &edit_options.persistent_selections, NULL), + QUICK_CHECKBOX (N_("Cursor be&yond end of line"), &edit_options.cursor_beyond_eol, NULL), + QUICK_CHECKBOX (N_("&Group undo"), &edit_options.group_undo, NULL), QUICK_LABELED_INPUT (N_("Word wrap line length:"), input_label_left, wrap_length, "edit-word-wrap", &p, NULL, FALSE, FALSE, INPUT_COMPLETE_NONE), QUICK_STOP_GROUPBOX, @@ -195,45 +196,45 @@ edit_options_dialog (WDialog * h) return; } - old_syntax_hl = option_syntax_highlighting; + old_syntax_hl = edit_options.syntax_highlighting; - if (!option_cursor_beyond_eol) + if (!edit_options.cursor_beyond_eol) g_list_foreach (GROUP (h)->widgets, edit_reset_over_col, NULL); if (*p != '\0') { - option_word_wrap_line_length = atoi (p); - if (option_word_wrap_line_length <= 0) - option_word_wrap_line_length = DEFAULT_WRAP_LINE_LENGTH; + edit_options.word_wrap_line_length = atoi (p); + if (edit_options.word_wrap_line_length <= 0) + edit_options.word_wrap_line_length = DEFAULT_WRAP_LINE_LENGTH; g_free (p); } if (*q != '\0') { - option_tab_spacing = atoi (q); - if (option_tab_spacing <= 0) - option_tab_spacing = DEFAULT_TAB_SPACING; + TAB_SIZE = atoi (q); + if (TAB_SIZE <= 0) + TAB_SIZE = DEFAULT_TAB_SPACING; g_free (q); } if (wrap_mode == 1) { - option_auto_para_formatting = TRUE; - option_typewriter_wrap = FALSE; + edit_options.auto_para_formatting = TRUE; + edit_options.typewriter_wrap = FALSE; } else if (wrap_mode == 2) { - option_auto_para_formatting = FALSE; - option_typewriter_wrap = TRUE; + edit_options.auto_para_formatting = FALSE; + edit_options.typewriter_wrap = TRUE; } else { - option_auto_para_formatting = FALSE; - option_typewriter_wrap = FALSE; + edit_options.auto_para_formatting = FALSE; + edit_options.typewriter_wrap = FALSE; } /* Load or unload syntax rules if the option has changed */ - if (option_syntax_highlighting != old_syntax_hl) + if (edit_options.syntax_highlighting != old_syntax_hl) g_list_foreach (GROUP (h)->widgets, edit_reload_syntax, NULL); } diff --git a/src/editor/editsearch.c b/src/editor/editsearch.c index c8490c4c6..420173b81 100644 --- a/src/editor/editsearch.c +++ b/src/editor/editsearch.c @@ -64,6 +64,8 @@ edit_search_options_t edit_search_options = { /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -219,7 +221,7 @@ edit_dialog_replace_prompt_show (WEdit * edit, char *from_text, char *to_text, i int retval; if (xpos == -1) - xpos = w->rect.x + option_line_state_width + 1; + xpos = w->rect.x + edit_options.line_state_width + 1; if (ypos == -1) ypos = w->rect.y + w->rect.lines / 2; /* Sometimes menu can hide replaced text. I don't like it */ diff --git a/src/editor/editwidget.c b/src/editor/editwidget.c index bf847d670..2149a70be 100644 --- a/src/editor/editwidget.c +++ b/src/editor/editwidget.c @@ -81,14 +81,14 @@ char *edit_window_close_char = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ + static unsigned int edit_dlg_init_refcounter = 0; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ - -static cb_ret_t edit_dialog_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, - void *data); - /* --------------------------------------------------------------------------------------------- */ /** * Init the 'edit' subsystem @@ -321,12 +321,12 @@ edit_window_list (const WDialog * h) lines = MIN ((size_t) (LINES * 2 / 3), dlg_num); cols = COLS * 2 / 3; - listbox = create_listbox_window (lines, cols, _("Open files"), "[Open files]"); + listbox = listbox_window_new (lines, cols, _("Open files"), "[Open files]"); for (w = g->widgets; w != NULL; w = g_list_next (w)) if (edit_widget_is_editor (CONST_WIDGET (w->data))) { - WEdit *e = (WEdit *) w->data; + WEdit *e = EDIT (w->data); char *fname; if (e->filename_vpath == NULL) @@ -342,7 +342,7 @@ edit_window_list (const WDialog * h) g_free (fname); } - selected = run_listbox_with_data (listbox, g->current->data); + selected = listbox_run_with_data (listbox, g->current->data); if (selected != NULL) widget_select (WIDGET (selected)); } @@ -373,11 +373,14 @@ edit_get_shortcut (long command) static char * edit_get_title (const WDialog * h, size_t len) { - const WEdit *edit = find_editor (h); - const char *modified = edit->modified ? "(*) " : " "; + const WEdit *edit; + const char *modified; const char *file_label; char *filename; + edit = edit_find_editor (h); + modified = edit->modified ? "(*) " : " "; + len -= 4; if (edit->filename_vpath == NULL) @@ -419,7 +422,7 @@ edit_dialog_command_execute (WDialog * h, long command) case CK_Close: /* if there are no opened files anymore, close MC editor */ if (edit_widget_is_editor (CONST_WIDGET (g->current->data)) && - edit_close_cmd ((WEdit *) g->current->data) && find_editor (h) == NULL) + edit_close_cmd (EDIT (g->current->data)) && edit_find_editor (h) == NULL) dlg_stop (h); break; case CK_Help: @@ -435,8 +438,8 @@ edit_dialog_command_execute (WDialog * h, long command) { Widget *w = WIDGET (g->current->data); - if (edit_widget_is_editor (w) && ((WEdit *) w)->drag_state != MCEDIT_DRAG_NONE) - edit_restore_size ((WEdit *) w); + if (edit_widget_is_editor (w) && EDIT (w)->drag_state != MCEDIT_DRAG_NONE) + edit_restore_size (EDIT (w)); else if (command == CK_Quit) dlg_stop (h); } @@ -468,7 +471,7 @@ edit_dialog_command_execute (WDialog * h, long command) case CK_WindowMove: case CK_WindowResize: if (edit_widget_is_editor (CONST_WIDGET (g->current->data))) - edit_handle_move_resize ((WEdit *) g->current->data, command); + edit_handle_move_resize (EDIT (g->current->data), command); break; case CK_WindowList: edit_window_list (h); @@ -632,7 +635,7 @@ edit_quit (WDialog * h) for (l = GROUP (h)->widgets; l != NULL; l = g_list_next (l)) if (edit_widget_is_editor (CONST_WIDGET (l->data))) { - e = (WEdit *) l->data; + e = EDIT (l->data); if (e->drag_state != MCEDIT_DRAG_NONE) { @@ -649,7 +652,7 @@ edit_quit (WDialog * h) for (me = m; me != NULL; me = g_slist_next (me)) { - e = (WEdit *) me->data; + e = EDIT (me->data); widget_select (WIDGET (e)); @@ -711,8 +714,8 @@ edit_update_cursor (WEdit * edit, const mouse_event_t * event) if (event->msg == MSG_MOUSE_DOWN || event->msg == MSG_MOUSE_UP) edit_push_key_press (edit); - if (!option_cursor_beyond_eol) - edit->prev_col = x - edit->start_col - option_line_state_width; + if (!edit_options.cursor_beyond_eol) + edit->prev_col = x - edit->start_col - edit_options.line_state_width; else { long line_len; @@ -723,13 +726,13 @@ edit_update_cursor (WEdit * edit, const mouse_event_t * event) if (x > line_len - 1) { - edit->over_col = x - line_len - edit->start_col - option_line_state_width; + edit->over_col = x - line_len - edit->start_col - edit_options.line_state_width; edit->prev_col = line_len; } else { edit->over_col = 0; - edit->prev_col = x - option_line_state_width - edit->start_col; + edit->prev_col = x - edit_options.line_state_width - edit->start_col; } } @@ -770,7 +773,7 @@ edit_dialog_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, v case MSG_RESIZE: dlg_default_callback (w, NULL, MSG_RESIZE, 0, NULL); - menubar_arrange (find_menubar (h)); + menubar_arrange (menubar_find (h)); return MSG_HANDLED; case MSG_ACTION: @@ -783,7 +786,7 @@ edit_dialog_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, v /* We forward any commands coming from the menu, and which haven't been handled by the dialog, to the focused WEdit window. */ - if (result == MSG_NOT_HANDLED && sender == WIDGET (find_menubar (h))) + if (result == MSG_NOT_HANDLED && sender == WIDGET (menubar_find (h))) result = send_message (g->current->data, NULL, MSG_ACTION, parm, NULL); return result; @@ -869,7 +872,7 @@ edit_dialog_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) WDialog *h = DIALOG (w); WMenuBar *b; - b = find_menubar (h); + b = menubar_find (h); if (!widget_get_state (WIDGET (b), WST_FOCUSED)) { @@ -881,8 +884,7 @@ edit_dialog_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) /* Try find top fullscreen window */ for (l = g->widgets; l != NULL; l = g_list_next (l)) - if (edit_widget_is_editor (CONST_WIDGET (l->data)) - && ((WEdit *) l->data)->fullscreen) + if (edit_widget_is_editor (CONST_WIDGET (l->data)) && EDIT (l->data)->fullscreen) top = l; /* Handle fullscreen/close buttons in the top line */ @@ -890,7 +892,7 @@ edit_dialog_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) if (top != NULL && event->x >= x) { - WEdit *e = (WEdit *) top->data; + WEdit *e = EDIT (top->data); if (top != g->current) { @@ -939,12 +941,12 @@ edit_dialog_bg_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm static cb_ret_t edit_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data) { - WEdit *e = (WEdit *) w; + WEdit *e = EDIT (w); switch (msg) { case MSG_FOCUS: - edit_set_buttonbar (e, find_buttonbar (DIALOG (w->owner))); + edit_set_buttonbar (e, buttonbar_find (DIALOG (w->owner))); return MSG_HANDLED; case MSG_DRAW: @@ -984,8 +986,8 @@ edit_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *da int y, x; y = (e->fullscreen ? 0 : 1) + EDIT_TEXT_VERTICAL_OFFSET + e->curs_row; - x = (e->fullscreen ? 0 : 1) + EDIT_TEXT_HORIZONTAL_OFFSET + option_line_state_width + - e->curs_col + e->start_col + e->over_col; + x = (e->fullscreen ? 0 : 1) + EDIT_TEXT_HORIZONTAL_OFFSET + + edit_options.line_state_width + e->curs_col + e->start_col + e->over_col; widget_gotoyx (w, y, x); return MSG_HANDLED; @@ -1012,7 +1014,7 @@ edit_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *da static void edit_mouse_handle_move_resize (Widget * w, mouse_msg_t msg, mouse_event_t * event) { - WEdit *edit = (WEdit *) (w); + WEdit *edit = EDIT (w); WRect *r = &w->rect; const WRect *h = &CONST_WIDGET (w->owner)->rect; int global_x, global_y; @@ -1072,7 +1074,7 @@ edit_mouse_handle_move_resize (Widget * w, mouse_msg_t msg, mouse_event_t * even static void edit_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) { - WEdit *edit = (WEdit *) w; + WEdit *edit = EDIT (w); /* buttons' distance from right edge */ int dx = edit->fullscreen ? 0 : 2; /* location of 'Close' and 'Toggle fullscreen' pictograms */ @@ -1296,13 +1298,13 @@ edit_get_file_name (const WEdit * edit) /* --------------------------------------------------------------------------------------------- */ WEdit * -find_editor (const WDialog * h) +edit_find_editor (const WDialog * h) { const WGroup *g = CONST_GROUP (h); if (edit_widget_is_editor (CONST_WIDGET (g->current->data))) - return (WEdit *) g->current->data; - return (WEdit *) widget_find_by_type (CONST_WIDGET (h), edit_callback); + return EDIT (g->current->data); + return EDIT (widget_find_by_type (CONST_WIDGET (h), edit_callback)); } /* --------------------------------------------------------------------------------------------- */ @@ -1338,7 +1340,7 @@ edit_update_screen (WEdit * e) edit_render_keypress (e); } - widget_draw (WIDGET (find_buttonbar (DIALOG (WIDGET (e)->owner)))); + widget_draw (WIDGET (buttonbar_find (DIALOG (WIDGET (e)->owner)))); } /* --------------------------------------------------------------------------------------------- */ @@ -1384,7 +1386,7 @@ edit_add_window (WDialog * h, const WRect * r, const vfs_path_t * f, long fline) w->mouse_callback = edit_mouse_callback; group_add_widget_autopos (GROUP (h), w, WPOS_KEEP_ALL, NULL); - edit_set_buttonbar (edit, find_buttonbar (h)); + edit_set_buttonbar (edit, buttonbar_find (h)); widget_draw (WIDGET (h)); return TRUE; diff --git a/src/editor/etags.c b/src/editor/etags.c index 6cbd3df3d..7b570d691 100644 --- a/src/editor/etags.c +++ b/src/editor/etags.c @@ -53,6 +53,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static int def_max_width; @@ -325,13 +327,13 @@ editcmd_dialog_select_definition_show (WEdit * edit, char *match_expr, GPtrArray def_dlg_h = def_hash->len + 2; def_dlg_w = COLS - 2; /* will be clarified later */ start_x = w->x + edit->curs_col + edit->start_col + EDIT_TEXT_HORIZONTAL_OFFSET + - (edit->fullscreen ? 0 : 1) + option_line_state_width; + (edit->fullscreen ? 0 : 1) + edit_options.line_state_width; start_y = w->y + edit->curs_row + EDIT_TEXT_VERTICAL_OFFSET + (edit->fullscreen ? 0 : 1) + 1; if (start_x < 0) start_x = 0; if (start_x < w->x + 1) - start_x = w->x + 1 + option_line_state_width; + start_x = w->x + 1 + edit_options.line_state_width; if (def_dlg_h > LINES - 2) def_dlg_h = LINES - 2; diff --git a/src/editor/format.c b/src/editor/format.c index 0084b1ee2..c27273b7d 100644 --- a/src/editor/format.c +++ b/src/editor/format.c @@ -48,26 +48,24 @@ #include #include "lib/global.h" - -#include "src/setup.h" /* option_tab_spacing */ +#include "lib/util.h" /* whitespace() */ #include "edit-impl.h" #include "editwidget.h" /*** global variables ****************************************************************************/ -char *option_stop_format_chars = NULL; - /*** file scope macro definitions ****************************************************************/ -#define tab_width option_tab_spacing - #define FONT_MEAN_WIDTH 1 /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -112,7 +110,8 @@ bad_line_start (const edit_buffer_t * buf, off_t p) && edit_buffer_get_byte (buf, p + 2) == '-'); } - return (option_stop_format_chars != NULL && strchr (option_stop_format_chars, c) != NULL); + return (edit_options.stop_format_chars != NULL + && strchr (edit_options.stop_format_chars, c) != NULL); } /* --------------------------------------------------------------------------------------------- */ @@ -209,7 +208,7 @@ strip_newlines (unsigned char *t, off_t size) static inline off_t next_tab_pos (off_t x) { - x += tab_width - x % tab_width; + x += TAB_SIZE - x % TAB_SIZE; return x; } @@ -330,7 +329,7 @@ format_this (unsigned char *t, off_t size, long indent, gboolean utf8) off_t q = 0, ww; strip_newlines (t, size); - ww = option_word_wrap_line_length * FONT_MEAN_WIDTH - indent; + ww = edit_options.word_wrap_line_length * FONT_MEAN_WIDTH - indent; if (ww < FONT_MEAN_WIDTH * 2) ww = FONT_MEAN_WIDTH * 2; @@ -387,7 +386,7 @@ edit_indent_width (const WEdit * edit, off_t p) static void edit_insert_indent (WEdit * edit, long indent) { - if (!option_fill_tabs_with_spaces) + if (!edit_options.fill_tabs_with_spaces) while (indent >= TAB_SIZE) { edit_insert (edit, '\t'); @@ -485,7 +484,7 @@ format_paragraph (WEdit * edit, gboolean force) unsigned char *t2; gboolean utf8 = FALSE; - if (option_word_wrap_line_length < 2) + if (edit_options.word_wrap_line_length < 2) return; if (edit_line_is_blank (edit, edit->buffer.curs_line)) return; @@ -502,17 +501,17 @@ format_paragraph (WEdit * edit, gboolean force) off_t i; char *stop_format_chars; - if (option_stop_format_chars != NULL - && strchr (option_stop_format_chars, t->str[0]) != NULL) + if (edit_options.stop_format_chars != NULL + && strchr (edit_options.stop_format_chars, t->str[0]) != NULL) { g_string_free (t, TRUE); return; } - if (option_stop_format_chars == NULL || *option_stop_format_chars == '\0') + if (edit_options.stop_format_chars == NULL || *edit_options.stop_format_chars == '\0') stop_format_chars = g_strdup ("\t"); else - stop_format_chars = g_strconcat (option_stop_format_chars, "\t", (char *) NULL); + stop_format_chars = g_strconcat (edit_options.stop_format_chars, "\t", (char *) NULL); for (i = 0; i < size - 1; i++) if (t->str[i] == '\n' && strchr (stop_format_chars, t->str[i + 1]) != NULL) diff --git a/src/editor/spell.c b/src/editor/spell.c index e4ddf9c04..5f396337c 100644 --- a/src/editor/spell.c +++ b/src/editor/spell.c @@ -36,6 +36,7 @@ #include "lib/charsets.h" #endif #include "lib/strutil.h" +#include "lib/util.h" /* MC_PTR_FREE() */ #include "lib/tty/tty.h" /* COLS, LINES */ #include "src/setup.h" @@ -59,6 +60,8 @@ typedef struct aspell_struct AspellSpeller *speller; } spell_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static GModule *spell_module = NULL; @@ -835,13 +838,13 @@ spell_dialog_lang_list_show (GArray * languages) Listbox *lang_list; /* Create listbox */ - lang_list = create_listbox_window_centered (-1, -1, lang_dlg_h, lang_dlg_w, - _("Select language"), "[ASpell]"); + lang_list = listbox_window_centered_new (-1, -1, lang_dlg_h, lang_dlg_w, + _("Select language"), "[ASpell]"); for (i = 0; i < languages->len; i++) LISTBOX_APPEND_TEXT (lang_list, 0, g_array_index (languages, char *, i), NULL, FALSE); - res = run_listbox (lang_list); + res = listbox_run (lang_list); if (res >= 0) selected_lang = g_strdup (g_array_index (languages, char *, (unsigned int) res)); diff --git a/src/editor/syntax.c b/src/editor/syntax.c index 83dfcbb2d..fbc85e7fe 100644 --- a/src/editor/syntax.c +++ b/src/editor/syntax.c @@ -67,8 +67,7 @@ /*** global variables ****************************************************************************/ -gboolean option_syntax_highlighting = TRUE; -gboolean option_auto_syntax = TRUE; +gboolean auto_syntax = TRUE; /*** file scope macro definitions ****************************************************************/ @@ -130,6 +129,8 @@ typedef struct edit_syntax_rule_t rule; } syntax_marker_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static char *error_file_name = NULL; @@ -163,10 +164,7 @@ context_rule_free (gpointer rule) g_free (r->keyword_first_chars); if (r->keyword != NULL) - { - g_ptr_array_foreach (r->keyword, (GFunc) syntax_keyword_free, NULL); g_ptr_array_free (r->keyword, TRUE); - } g_free (r); } @@ -941,7 +939,7 @@ edit_read_syntax_rules (WEdit * edit, FILE * f, char **args, int args_size) strcpy (whole_left, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_01234567890"); strcpy (whole_right, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_01234567890"); - edit->rules = g_ptr_array_new (); + edit->rules = g_ptr_array_new_with_free_func (context_rule_free); if (edit->defines == NULL) edit->defines = g_tree_new ((GCompareFunc) strcmp); @@ -1086,7 +1084,7 @@ edit_read_syntax_rules (WEdit * edit, FILE * f, char **args, int args_size) c->first_left = c->left->str[0]; c->first_right = c->right->str[0]; } - c->keyword = g_ptr_array_new (); + c->keyword = g_ptr_array_new_with_free_func (syntax_keyword_free); k = g_new0 (syntax_keyword_t, 1); g_ptr_array_add (c->keyword, k); no_words = FALSE; @@ -1426,7 +1424,7 @@ exec_edit_syntax_dialog (const GPtrArray * names, const char *current_syntax) size_t i; Listbox *syntaxlist; - syntaxlist = create_listbox_window (LIST_LINES, MAX_ENTRY_LEN, + syntaxlist = listbox_window_new (LIST_LINES, MAX_ENTRY_LEN, _("Choose syntax highlighting"), NULL); LISTBOX_APPEND_TEXT (syntaxlist, 'A', _("< Auto >"), NULL, FALSE); LISTBOX_APPEND_TEXT (syntaxlist, 'R', _("< Reload Current Syntax >"), NULL, FALSE); @@ -1441,7 +1439,7 @@ exec_edit_syntax_dialog (const GPtrArray * names, const char *current_syntax) listbox_select_entry (syntaxlist->list, i + N_DFLT_ENTRIES); } - return run_listbox (syntaxlist); + return listbox_run (syntaxlist); } /* --------------------------------------------------------------------------------------------- */ @@ -1454,7 +1452,7 @@ edit_get_syntax_color (WEdit * edit, off_t byte_index) if (!tty_use_colors ()) return 0; - if (edit->rules != NULL && byte_index < edit->buffer.size && option_syntax_highlighting) + if (edit_options.syntax_highlighting && edit->rules != NULL && byte_index < edit->buffer.size) { edit_get_rule (edit, byte_index); return translate_rule_to_color (edit, &edit->rule); @@ -1480,7 +1478,6 @@ edit_free_syntax_rules (WEdit * edit) edit_get_rule (edit, -1); MC_PTR_FREE (edit->syntax_type); - g_ptr_array_foreach (edit->rules, (GFunc) context_rule_free, NULL); g_ptr_array_free (edit->rules, TRUE); edit->rules = NULL; g_clear_slist (&edit->syntax_marker, g_free); @@ -1500,7 +1497,7 @@ edit_load_syntax (WEdit * edit, GPtrArray * pnames, const char *type) int r; char *f = NULL; - if (option_auto_syntax) + if (auto_syntax) type = NULL; if (edit != NULL) @@ -1515,7 +1512,7 @@ edit_load_syntax (WEdit * edit, GPtrArray * pnames, const char *type) if (!tty_use_colors ()) return; - if (!option_syntax_highlighting && (pnames == NULL || pnames->len == 0)) + if (!edit_options.syntax_highlighting && (pnames == NULL || pnames->len == 0)) return; if (edit != NULL && edit->filename_vpath == NULL) @@ -1525,7 +1522,7 @@ edit_load_syntax (WEdit * edit, GPtrArray * pnames, const char *type) if (edit != NULL) r = edit_read_syntax_file (edit, pnames, f, vfs_path_as_str (edit->filename_vpath), get_first_editor_line (edit), - option_auto_syntax ? NULL : edit->syntax_type); + auto_syntax ? NULL : edit->syntax_type); else r = edit_read_syntax_file (NULL, pnames, f, NULL, "", NULL); if (r == -1) @@ -1562,7 +1559,7 @@ edit_syntax_dialog (WEdit * edit) GPtrArray *names; int syntax; - names = g_ptr_array_new (); + names = g_ptr_array_new_with_free_func (g_free); /* We fill the list of syntax files every time the editor is invoked. Instead we could save the list to a file and update it once the syntax @@ -1578,24 +1575,24 @@ edit_syntax_dialog (WEdit * edit) gboolean old_auto_syntax; current_syntax = g_strdup (edit->syntax_type); - old_auto_syntax = option_auto_syntax; + old_auto_syntax = auto_syntax; switch (syntax) { case 0: /* auto syntax */ - option_auto_syntax = TRUE; + auto_syntax = TRUE; break; case 1: /* reload current syntax */ force_reload = TRUE; break; default: - option_auto_syntax = FALSE; + auto_syntax = FALSE; g_free (edit->syntax_type); edit->syntax_type = g_strdup (g_ptr_array_index (names, syntax - N_DFLT_ENTRIES)); } /* Load or unload syntax rules if the option has changed */ - if (force_reload || (option_auto_syntax && !old_auto_syntax) || old_auto_syntax || + if (force_reload || (auto_syntax && !old_auto_syntax) || old_auto_syntax || (current_syntax != NULL && edit->syntax_type != NULL && strcmp (current_syntax, edit->syntax_type) != 0)) edit_load_syntax (edit, NULL, edit->syntax_type); @@ -1603,7 +1600,6 @@ edit_syntax_dialog (WEdit * edit) g_free (current_syntax); } - g_ptr_array_foreach (names, (GFunc) g_free, NULL); g_ptr_array_free (names, TRUE); } diff --git a/src/execute.c b/src/execute.c index afb268847..c22077475 100644 --- a/src/execute.c +++ b/src/execute.c @@ -63,9 +63,7 @@ int pause_after_run = pause_on_dumb_terminals; /*** file scope type declarations ****************************************************************/ -/*** file scope variables ************************************************************************/ - -/*** file scope functions ************************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ void do_execute (const char *shell, const char *command, int flags); void do_executev (const char *shell, int flags, char *const argv[]); @@ -73,6 +71,10 @@ char *execute_get_external_cmd_opts_from_config (const char *command, const vfs_path_t * filename_vpath, long start_line); +/*** file scope variables ************************************************************************/ + +/* --------------------------------------------------------------------------------------------- */ +/*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ static void diff --git a/src/file_history.c b/src/file_history.c index 9092502c3..e46985e5c 100644 --- a/src/file_history.c +++ b/src/file_history.c @@ -50,6 +50,8 @@ typedef struct file_history_data_t char *file_pos; } file_history_data_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/filemanager/achown.c b/src/filemanager/achown.c index 412009500..d45d66352 100644 --- a/src/filemanager/achown.c +++ b/src/filemanager/achown.c @@ -62,6 +62,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static struct @@ -753,7 +755,7 @@ advanced_chown_dlg_create (WPanel * panel) /* draw background */ ch_dlg->bg->callback = advanced_chown_bg_callback; - l_filename = label_new (2, 3, ""); + l_filename = label_new (2, 3, NULL); group_add_widget (ch_grp, l_filename); group_add_widget (ch_grp, hline_new (3, -1, -1)); @@ -772,7 +774,7 @@ advanced_chown_dlg_create (WPanel * panel) b_group = button_new (XTRACT (4, BY, user_group_button_cb)); advanced_chown_but[4].id = group_add_widget (ch_grp, b_group); - l_mode = label_new (BY + 2, 3, ""); + l_mode = label_new (BY + 2, 3, NULL); group_add_widget (ch_grp, l_mode); y = BY + 3; @@ -845,9 +847,7 @@ static gboolean try_advanced_chown (const vfs_path_t * p, mode_t m, uid_t u, gid_t g) { int chmod_result; - const char *fname; - - fname = x_basename (vfs_path_as_str (p)); + const char *fname = NULL; while ((chmod_result = mc_chmod (p, m)) == -1 && !ignore_all) { @@ -855,6 +855,8 @@ try_advanced_chown (const vfs_path_t * p, mode_t m, uid_t u, gid_t g) int result; char *msg; + if (fname == NULL) + fname = x_basename (vfs_path_as_str (p)); msg = g_strdup_printf (_("Cannot chmod \"%s\"\n%s"), fname, unix_error_string (my_errno)); result = query_dialog (MSG_ERROR, msg, D_ERROR, 4, _("&Ignore"), _("Ignore &all"), _("&Retry"), @@ -890,6 +892,8 @@ try_advanced_chown (const vfs_path_t * p, mode_t m, uid_t u, gid_t g) int result; char *msg; + if (fname == NULL) + fname = x_basename (vfs_path_as_str (p)); msg = g_strdup_printf (_("Cannot chown \"%s\"\n%s"), fname, unix_error_string (my_errno)); result = query_dialog (MSG_ERROR, msg, D_ERROR, 4, _("&Ignore"), _("Ignore &all"), _("&Retry"), @@ -1046,32 +1050,33 @@ advanced_chown_cmd (WPanel * panel) break; case B_ENTER: - if (panel->marked <= 1) { - /* single or last file */ - if (mc_chmod (vpath, get_mode ()) == -1) - message (D_ERROR, MSG_ERROR, _("Cannot chmod \"%s\"\n%s"), - fname->str, unix_error_string (errno)); - /* call mc_chown only, if mc_chmod didn't fail */ - else if (mc_chown - (vpath, (ch_flags[9] == '+') ? sf_stat.st_uid : (uid_t) (-1), - (ch_flags[10] == '+') ? sf_stat.st_gid : (gid_t) (-1)) == -1) - message (D_ERROR, MSG_ERROR, _("Cannot chown \"%s\"\n%s"), fname->str, - unix_error_string (errno)); + uid_t uid = ch_flags[9] == '+' ? sf_stat.st_uid : (uid_t) (-1); + gid_t gid = ch_flags[10] == '+' ? sf_stat.st_gid : (gid_t) (-1); - end_chown = TRUE; - } - else if (!try_advanced_chown - (vpath, get_mode (), (ch_flags[9] == '+') ? sf_stat.st_uid : (uid_t) (-1), - (ch_flags[10] == '+') ? sf_stat.st_gid : (gid_t) (-1))) - { - /* stop multiple files processing */ - result = B_CANCEL; - end_chown = TRUE; - } + if (panel->marked <= 1) + { + /* single or last file */ + if (mc_chmod (vpath, get_mode ()) == -1) + message (D_ERROR, MSG_ERROR, _("Cannot chmod \"%s\"\n%s"), + fname->str, unix_error_string (errno)); + /* call mc_chown only, if mc_chmod didn't fail */ + else if (mc_chown (vpath, uid, gid) == -1) + message (D_ERROR, MSG_ERROR, _("Cannot chown \"%s\"\n%s"), fname->str, + unix_error_string (errno)); - need_update = TRUE; - break; + end_chown = TRUE; + } + else if (!try_advanced_chown (vpath, get_mode (), uid, gid)) + { + /* stop multiple files processing */ + result = B_CANCEL; + end_chown = TRUE; + } + + need_update = TRUE; + break; + } case B_SETALL: apply_advanced_chowns (panel, vpath, &sf_stat); diff --git a/src/filemanager/boxes.c b/src/filemanager/boxes.c index 64e13bbf0..b09a93af0 100644 --- a/src/filemanager/boxes.c +++ b/src/filemanager/boxes.c @@ -88,6 +88,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static unsigned long configure_old_esc_mode_id, configure_time_out_id; @@ -189,7 +191,7 @@ skin_dlg_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void case MSG_RESIZE: { WDialog *d = DIALOG (w); - const WRect *wd = &WIDGET (d->data)->rect; + const WRect *wd = &WIDGET (d->data.p)->rect; WRect r = w->rect; r.y = wd->y + (wd->lines - r.lines) / 2; @@ -221,7 +223,7 @@ sel_skin_button (WButton * button, int action) dlg_create (TRUE, 0, 0, 13, 24, WPOS_KEEP_DEFAULT, TRUE, dialog_colors, skin_dlg_callback, NULL, "[Appearance]", _("Skins")); /* use Appearance dialog for positioning */ - skin_dlg->data = WIDGET (button)->owner; + skin_dlg->data.p = WIDGET (button)->owner; /* set dialog location before all */ send_message (skin_dlg, NULL, MSG_RESIZE, 0, NULL); @@ -410,7 +412,7 @@ tree_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *da r.cols = COLS - 20; dlg_default_callback (w, NULL, MSG_RESIZE, 0, &r); - bar = WIDGET (find_buttonbar (h)); + bar = WIDGET (buttonbar_find (h)); bar->rect.x = 0; bar->rect.y = LINES - 1; return MSG_HANDLED; @@ -667,7 +669,6 @@ appearance_box (void) } g_free (current_skin_name); - g_ptr_array_foreach (skin_names, (GFunc) g_free, NULL); g_ptr_array_free (skin_names, TRUE); } diff --git a/src/filemanager/cd.c b/src/filemanager/cd.c index 2a9c35297..c2f025b0f 100644 --- a/src/filemanager/cd.c +++ b/src/filemanager/cd.c @@ -50,6 +50,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/filemanager/chattr.c b/src/filemanager/chattr.c index fdd8a0efe..566e77a2a 100644 --- a/src/filemanager/chattr.c +++ b/src/filemanager/chattr.c @@ -5,7 +5,7 @@ Free Software Foundation, Inc. Written by: - Andrew Borodin , 2020-2022 + Andrew Borodin , 2020-2023 This file is part of the Midnight Commander. @@ -35,7 +35,6 @@ #include #include -#include #include #include "lib/global.h" @@ -45,6 +44,7 @@ #include "lib/skin.h" /* COLOR_NORMAL, DISABLED_COLOR */ #include "lib/vfs/vfs.h" #include "lib/widget.h" +#include "lib/util.h" /* x_basename() */ #include "src/keymap.h" /* chattr_map */ @@ -86,6 +86,8 @@ struct WChattrBoxes int top; /* The first flag displayed */ }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* see /usr/include/ext2fs/ext2_fs.h @@ -1104,17 +1106,19 @@ next_file (const WPanel * panel) /* --------------------------------------------------------------------------------------------- */ static gboolean -try_chattr (const char *p, unsigned long m) +try_chattr (const vfs_path_t * p, unsigned long m) { - while (fsetflags (p, m) == -1 && !ignore_all) + const char *fname = NULL; + + while (mc_fsetflags (p, m) == -1 && !ignore_all) { int my_errno = errno; int result; char *msg; - msg = - g_strdup_printf (_("Cannot chattr \"%s\"\n%s"), x_basename (p), - unix_error_string (my_errno)); + if (fname == NULL) + fname = x_basename (vfs_path_as_str (p)); + msg = g_strdup_printf (_("Cannot chattr \"%s\"\n%s"), fname, unix_error_string (my_errno)); result = query_dialog (MSG_ERROR, msg, D_ERROR, 4, _("&Ignore"), _("Ignore &all"), _("&Retry"), _("&Cancel")); @@ -1155,7 +1159,7 @@ do_chattr (WPanel * panel, const vfs_path_t * p, unsigned long m) m &= and_mask; m |= or_mask; - ret = try_chattr (vfs_path_as_str (p), m); + ret = try_chattr (p, m); do_file_mark (panel, current_file, 0); @@ -1177,7 +1181,8 @@ chattr_apply_mask (WPanel * panel, vfs_path_t * vpath, unsigned long m) const GString *fname; fname = next_file (panel); - ok = (fgetflags (fname->str, &m) == 0); + vpath = vfs_path_from_str (fname->str); + ok = (mc_fgetflags (vpath, &m) == 0); if (!ok) { @@ -1190,7 +1195,6 @@ chattr_apply_mask (WPanel * panel, vfs_path_t * vpath, unsigned long m) } else { - vpath = vfs_path_from_str (fname->str); flags = m; ok = do_chattr (panel, vpath, m); vfs_path_free (vpath, TRUE); @@ -1219,17 +1223,9 @@ chattr_cmd (WPanel * panel) vfs_path_t *vpath; WDialog *ch_dlg; const GString *fname; - const char *fname2; size_t i; int result; - if (!vfs_current_is_local ()) - { - message (D_ERROR, MSG_ERROR, "%s", - _("Cannot change attributes on non-local filesystems")); - break; - } - do_refresh (); need_update = FALSE; @@ -1241,9 +1237,8 @@ chattr_cmd (WPanel * panel) fname = selection (panel)->fname; /* single file */ vpath = vfs_path_from_str (fname->str); - fname2 = vfs_path_as_str (vpath); - if (fgetflags (fname2, &flags) != 0) + if (mc_fgetflags (vpath, &flags) != 0) { message (D_ERROR, MSG_ERROR, _("Cannot get flags of \"%s\"\n%s"), fname->str, unix_error_string (errno)); @@ -1269,12 +1264,12 @@ chattr_cmd (WPanel * panel) if (panel->marked <= 1) { /* single or last file */ - if (fsetflags (fname2, flags) == -1 && !ignore_all) + if (mc_fsetflags (vpath, flags) == -1 && !ignore_all) message (D_ERROR, MSG_ERROR, _("Cannot chattr \"%s\"\n%s"), fname->str, unix_error_string (errno)); end_chattr = TRUE; } - else if (!try_chattr (fname2, flags)) + else if (!try_chattr (vpath, flags)) { /* stop multiple files processing */ result = B_CANCEL; diff --git a/src/filemanager/chmod.c b/src/filemanager/chmod.c index 68540f89d..b1e9da239 100644 --- a/src/filemanager/chmod.c +++ b/src/filemanager/chmod.c @@ -60,6 +60,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static struct @@ -424,15 +426,17 @@ next_file (const WPanel * panel) static gboolean try_chmod (const vfs_path_t * p, mode_t m) { + const char *fname = NULL; + while (mc_chmod (p, m) == -1 && !ignore_all) { int my_errno = errno; int result; char *msg; - msg = - g_strdup_printf (_("Cannot chmod \"%s\"\n%s"), x_basename (vfs_path_as_str (p)), - unix_error_string (my_errno)); + if (fname == NULL) + fname = x_basename (vfs_path_as_str (p)); + msg = g_strdup_printf (_("Cannot chmod \"%s\"\n%s"), fname, unix_error_string (my_errno)); result = query_dialog (MSG_ERROR, msg, D_ERROR, 4, _("&Ignore"), _("Ignore &all"), _("&Retry"), _("&Cancel")); diff --git a/src/filemanager/chown.c b/src/filemanager/chown.c index b367cad30..845a429c9 100644 --- a/src/filemanager/chown.c +++ b/src/filemanager/chown.c @@ -67,8 +67,9 @@ /*** file scope type declarations ****************************************************************/ -/*** file scope variables ************************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ +/*** file scope variables ************************************************************************/ static struct { @@ -234,7 +235,7 @@ chown_dlg_create (WPanel * panel) /* add widgets for the file information */ for (i = 0; i < LABELS; i++) { - chown_label[i].l = label_new (chown_label[i].y, 7 + GW * 2, ""); + chown_label[i].l = label_new (chown_label[i].y, 7 + GW * 2, NULL); group_add_widget (g, chown_label[i].l); } @@ -297,15 +298,17 @@ next_file (const WPanel * panel) static gboolean try_chown (const vfs_path_t * p, uid_t u, gid_t g) { + const char *fname = NULL; + while (mc_chown (p, u, g) == -1 && !ignore_all) { int my_errno = errno; int result; char *msg; - msg = - g_strdup_printf (_("Cannot chown \"%s\"\n%s"), x_basename (vfs_path_as_str (p)), - unix_error_string (my_errno)); + if (fname == NULL) + fname = x_basename (vfs_path_as_str (p)); + msg = g_strdup_printf (_("Cannot chown \"%s\"\n%s"), fname, unix_error_string (my_errno)); result = query_dialog (MSG_ERROR, msg, D_ERROR, 4, _("&Ignore"), _("Ignore &all"), _("&Retry"), _("&Cancel")); diff --git a/src/filemanager/cmd.c b/src/filemanager/cmd.c index 74748288c..dbd10ad22 100644 --- a/src/filemanager/cmd.c +++ b/src/filemanager/cmd.c @@ -58,6 +58,7 @@ #include "lib/vfs/vfs.h" #include "lib/fileloc.h" #include "lib/strutil.h" +#include "lib/file-entry.h" #include "lib/util.h" #include "lib/widget.h" #include "lib/keybind.h" /* CK_Down, CK_History */ @@ -112,6 +113,8 @@ enum CompareMode compare_thourough }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ #ifdef ENABLE_VFS_NET diff --git a/src/filemanager/command.c b/src/filemanager/command.c index 70eed1901..47d2d750f 100644 --- a/src/filemanager/command.c +++ b/src/filemanager/command.c @@ -63,6 +63,8 @@ WInput *cmdline; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* Color styles command line */ diff --git a/src/filemanager/dir.c b/src/filemanager/dir.c index 117505b3c..ef45071e4 100644 --- a/src/filemanager/dir.c +++ b/src/filemanager/dir.c @@ -60,6 +60,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* Reverse flag */ @@ -73,22 +75,10 @@ static gboolean exec_first = TRUE; static dir_list dir_copy = { NULL, 0, 0, NULL }; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -/* - sort_orders_t sort_orders [SORT_TYPES_TOTAL] = { - { N_("&Unsorted"), unsorted }, - { N_("&Name"), sort_name }, - { N_("&Extension"), sort_ext }, - { N_("&Modify time"), sort_time }, - { N_("&Access time"), sort_atime }, - { N_("C&Hange time"), sort_ctime }, - { N_("&Size"), sort_size }, - { N_("&Inode"), sort_inode }, - }; - */ - static inline int key_collate (const char *t1, const char *t2) { diff --git a/src/filemanager/dir.h b/src/filemanager/dir.h index f6a65ee42..7421cd875 100644 --- a/src/filemanager/dir.h +++ b/src/filemanager/dir.h @@ -9,7 +9,7 @@ #include "lib/global.h" #include "lib/search.h" -#include "lib/util.h" +#include "lib/file-entry.h" #include "lib/vfs/vfs.h" /*** typedefs(not structures) and defined constants **********************************************/ diff --git a/src/filemanager/ext.c b/src/filemanager/ext.c index 50b253b89..b21c4d066 100644 --- a/src/filemanager/ext.c +++ b/src/filemanager/ext.c @@ -85,6 +85,8 @@ typedef char *(*quote_func_t) (const char *name, gboolean quote_percent); +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* This variable points to a copy of the mc.ext file in memory diff --git a/src/filemanager/file.c b/src/filemanager/file.c index e06f32af3..bde620abb 100644 --- a/src/filemanager/file.c +++ b/src/filemanager/file.c @@ -178,6 +178,8 @@ static const char *prompt_parts[] = { N_(" with source mask:") }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* the hard link cache */ @@ -1934,9 +1936,8 @@ panel_operate_generate_prompt (const WPanel * panel, FileOperation operation, /* --------------------------------------------------------------------------------------------- */ static char * -do_confirm_copy_move (const WPanel * panel, FileOperation operation, gboolean force_single, - const char *source, struct stat *src_stat, file_op_context_t * ctx, - gboolean * do_bg) +do_confirm_copy_move (const WPanel * panel, gboolean force_single, const char *source, + struct stat *src_stat, file_op_context_t * ctx, gboolean * do_bg) { const char *tmp_dest_dir; char *dest_dir; @@ -1975,9 +1976,9 @@ do_confirm_copy_move (const WPanel * panel, FileOperation operation, gboolean fo src_stat = NULL; /* Generate confirmation prompt */ - format = panel_operate_generate_prompt (panel, operation, src_stat); + format = panel_operate_generate_prompt (panel, ctx->operation, src_stat); - ret = file_mask_dialog (ctx, operation, source != NULL, format, + ret = file_mask_dialog (ctx, source != NULL, format, source != NULL ? source : (const void *) &panel->marked, dest_dir, do_bg); @@ -2025,9 +2026,9 @@ do_confirm_erase (const WPanel * panel, const char *source, struct stat *src_sta /* --------------------------------------------------------------------------------------------- */ static FileProgressStatus -operate_single_file (const WPanel * panel, FileOperation operation, file_op_total_context_t * tctx, - file_op_context_t * ctx, const char *src, struct stat *src_stat, - const char *dest, filegui_dialog_type_t dialog_type) +operate_single_file (const WPanel * panel, file_op_total_context_t * tctx, file_op_context_t * ctx, + const char *src, struct stat *src_stat, const char *dest, + filegui_dialog_type_t dialog_type) { FileProgressStatus value; vfs_path_t *src_vpath; @@ -2048,8 +2049,7 @@ operate_single_file (const WPanel * panel, FileOperation operation, file_op_tota is_file = !(is_link && ctx->follow_links); } - - if (operation == OP_DELETE) + if (ctx->operation == OP_DELETE) { value = panel_operate_init_totals (panel, src_vpath, src_stat, ctx, !is_file, dialog_type); if (value == FILE_CONT) @@ -2071,7 +2071,7 @@ operate_single_file (const WPanel * panel, FileOperation operation, file_op_tota { dest = temp; - switch (operation) + switch (ctx->operation) { case OP_COPY: /* we use file_mask_op_follow_links only with OP_COPY */ @@ -2101,10 +2101,11 @@ operate_single_file (const WPanel * panel, FileOperation operation, file_op_tota case OP_MOVE: #ifdef ENABLE_BACKGROUND - /* create UI to show confirmation dialog */ if (!mc_global.we_are_background) - file_op_context_create_ui (ctx, TRUE, FILEGUI_DIALOG_ONE_ITEM); #endif + /* create UI to show confirmation dialog */ + file_op_context_create_ui (ctx, TRUE, FILEGUI_DIALOG_ONE_ITEM); + if (is_file) value = move_file_file (panel, tctx, ctx, src, dest); else @@ -2128,8 +2129,8 @@ operate_single_file (const WPanel * panel, FileOperation operation, file_op_tota /* --------------------------------------------------------------------------------------------- */ static FileProgressStatus -operate_one_file (const WPanel * panel, FileOperation operation, file_op_total_context_t * tctx, - file_op_context_t * ctx, const char *src, struct stat *src_stat, const char *dest) +operate_one_file (const WPanel * panel, file_op_total_context_t * tctx, file_op_context_t * ctx, + const char *src, struct stat *src_stat, const char *dest) { FileProgressStatus value = FILE_CONT; vfs_path_t *src_vpath; @@ -2142,7 +2143,7 @@ operate_one_file (const WPanel * panel, FileOperation operation, file_op_total_c is_file = !S_ISDIR (src_stat->st_mode); - if (operation == OP_DELETE) + if (ctx->operation == OP_DELETE) { if (is_file) value = erase_file (tctx, ctx, src_vpath); @@ -2160,7 +2161,7 @@ operate_one_file (const WPanel * panel, FileOperation operation, file_op_total_c { dest = temp; - switch (operation) + switch (ctx->operation) { case OP_COPY: /* we use file_mask_op_follow_links only with OP_COPY */ @@ -3183,9 +3184,9 @@ dirsize_status_init_cb (status_msg_t * sm) b_width += str_term_width1 (b2_name) + 4 + 1; ui_width = MAX (COLS / 2, b_width + 6); - dsm->dirname = label_new (2, 3, ""); + dsm->dirname = label_new (2, 3, NULL); group_add_widget (gd, dsm->dirname); - dsm->count_size = label_new (3, 3, ""); + dsm->count_size = label_new (3, 3, NULL); group_add_widget (gd, dsm->count_size); group_add_widget (gd, hline_new (4, -1, -1)); @@ -3295,14 +3296,13 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl const char *source = NULL; char *dest = NULL; vfs_path_t *dest_vpath = NULL; - char *save_cwd = NULL, *save_dest = NULL; + vfs_path_t *save_cwd = NULL, *save_dest = NULL; struct stat src_stat; gboolean ret_val = TRUE; int i; FileProgressStatus value; file_op_context_t *ctx; file_op_total_context_t *tctx; - vfs_path_t *tmp_vpath; filegui_dialog_type_t dialog_type = FILEGUI_DIALOG_ONE_ITEM; gboolean do_bg = FALSE; /* do background operation? */ @@ -3333,9 +3333,7 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl /* Show confirmation dialog */ if (operation != OP_DELETE) { - dest = - do_confirm_copy_move (panel, operation, force_single, source, &src_stat, ctx, &do_bg); - + dest = do_confirm_copy_move (panel, force_single, source, &src_stat, ctx, &do_bg); if (dest == NULL) { ret_val = FALSE; @@ -3396,11 +3394,11 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl invalid data. */ if ((dest != NULL) && (mc_setctl (dest_vpath, VFS_SETCTL_STALE_DATA, GUINT_TO_POINTER (1)) != 0)) - save_dest = g_strdup (dest); + save_dest = vfs_path_from_str (dest); if ((vfs_path_tokens_count (panel->cwd_vpath) != 0) && (mc_setctl (panel->cwd_vpath, VFS_SETCTL_STALE_DATA, GUINT_TO_POINTER (1)) != 0)) - save_cwd = g_strdup (vfs_path_as_str (panel->cwd_vpath)); + save_cwd = vfs_path_clone (panel->cwd_vpath); /* Now, let's do the job */ @@ -3425,9 +3423,7 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl } } - value = - operate_single_file (panel, operation, tctx, ctx, source, &src_stat, dest, dialog_type); - + value = operate_single_file (panel, tctx, ctx, source, &src_stat, dest, dialog_type); if ((value == FILE_CONT) && !force_single) unmark_files (panel); } @@ -3471,7 +3467,7 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl source2 = panel->dir.list[i].fname->str; src_stat = panel->dir.list[i].st; - value = operate_one_file (panel, operation, tctx, ctx, source2, &src_stat, dest); + value = operate_one_file (panel, tctx, ctx, source2, &src_stat, dest); if (value == FILE_ABORT) break; @@ -3500,18 +3496,14 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl /* Clean up */ if (save_cwd != NULL) { - tmp_vpath = vfs_path_from_str (save_cwd); - mc_setctl (tmp_vpath, VFS_SETCTL_STALE_DATA, NULL); - vfs_path_free (tmp_vpath, TRUE); - g_free (save_cwd); + mc_setctl (save_cwd, VFS_SETCTL_STALE_DATA, NULL); + vfs_path_free (save_cwd, TRUE); } if (save_dest != NULL) { - tmp_vpath = vfs_path_from_str (save_dest); - mc_setctl (tmp_vpath, VFS_SETCTL_STALE_DATA, NULL); - vfs_path_free (tmp_vpath, TRUE); - g_free (save_dest); + mc_setctl (save_dest, VFS_SETCTL_STALE_DATA, NULL); + vfs_path_free (save_dest, TRUE); } linklist = free_linklist (linklist); diff --git a/src/filemanager/filegui.c b/src/filemanager/filegui.c index 8515ae2a8..abca59888 100644 --- a/src/filemanager/filegui.c +++ b/src/filemanager/filegui.c @@ -237,6 +237,8 @@ typedef struct struct stat *src_stat, *dst_stat; } file_op_context_ui_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static struct @@ -859,16 +861,16 @@ file_op_context_create_ui (file_op_context_t * ctx, gboolean with_eta, ui->showing_eta = with_eta && ctx->progress_totals_computed; ui->showing_bps = with_eta; - ui->src_file_label = label_new (y++, x, ""); + ui->src_file_label = label_new (y++, x, NULL); group_add_widget (g, ui->src_file_label); - ui->src_file = label_new (y++, x, ""); + ui->src_file = label_new (y++, x, NULL); group_add_widget (g, ui->src_file); - ui->tgt_file_label = label_new (y++, x, ""); + ui->tgt_file_label = label_new (y++, x, NULL); group_add_widget (g, ui->tgt_file_label); - ui->tgt_file = label_new (y++, x, ""); + ui->tgt_file = label_new (y++, x, NULL); group_add_widget (g, ui->tgt_file); ui->progress_file_gauge = gauge_new (y++, x + 3, dlg_width - (x + 3) * 2, FALSE, 100, 0); @@ -876,7 +878,7 @@ file_op_context_create_ui (file_op_context_t * ctx, gboolean with_eta, ui->progress_file_gauge->from_left_to_right = FALSE; group_add_widget_autopos (g, ui->progress_file_gauge, WPOS_KEEP_TOP | WPOS_KEEP_HORZ, NULL); - ui->progress_file_label = label_new (y++, x, ""); + ui->progress_file_label = label_new (y++, x, NULL); group_add_widget (g, ui->progress_file_label); if (verbose && dialog_type == FILEGUI_DIALOG_MULTI_ITEM) @@ -894,19 +896,19 @@ file_op_context_create_ui (file_op_context_t * ctx, gboolean with_eta, WPOS_KEEP_TOP | WPOS_KEEP_HORZ, NULL); } - ui->total_files_processed_label = label_new (y++, x, ""); + ui->total_files_processed_label = label_new (y++, x, NULL); group_add_widget (g, ui->total_files_processed_label); - ui->time_label = label_new (y++, x, ""); + ui->time_label = label_new (y++, x, NULL); group_add_widget (g, ui->time_label); } } else { - ui->src_file = label_new (y++, x, ""); + ui->src_file = label_new (y++, x, NULL); group_add_widget (g, ui->src_file); - ui->total_files_processed_label = label_new (y++, x, ""); + ui->total_files_processed_label = label_new (y++, x, NULL); group_add_widget (g, ui->total_files_processed_label); } @@ -1150,8 +1152,8 @@ file_progress_show_source (file_op_context_t * ctx, const vfs_path_t * vpath) } else { - label_set_text (ui->src_file_label, ""); - label_set_text (ui->src_file, ""); + label_set_text (ui->src_file_label, NULL); + label_set_text (ui->src_file, NULL); } } @@ -1174,8 +1176,8 @@ file_progress_show_target (file_op_context_t * ctx, const vfs_path_t * vpath) } else { - label_set_text (ui->tgt_file_label, ""); - label_set_text (ui->tgt_file, ""); + label_set_text (ui->tgt_file_label, NULL); + label_set_text (ui->tgt_file, NULL); } } @@ -1295,8 +1297,8 @@ file_progress_real_query_replace (file_op_context_t * ctx, enum OperationMode mo /* --------------------------------------------------------------------------------------------- */ char * -file_mask_dialog (file_op_context_t * ctx, FileOperation operation, gboolean only_one, - const char *format, const void *text, const char *def_text, gboolean * do_bg) +file_mask_dialog (file_op_context_t * ctx, gboolean only_one, const char *format, const void *text, + const char *def_text, gboolean * do_bg) { size_t fmd_xlen; vfs_path_t *vpath; @@ -1393,7 +1395,7 @@ file_mask_dialog (file_op_context_t * ctx, FileOperation operation, gboolean onl WRect r = { -1, -1, 0, fmd_xlen }; quick_dialog_t qdlg = { - r, op_names[operation], "[Mask Copy/Rename]", + r, op_names[ctx->operation], "[Mask Copy/Rename]", quick_widgets, NULL, NULL }; diff --git a/src/filemanager/filegui.h b/src/filemanager/filegui.h index 3fe6fe7cd..6387faac2 100644 --- a/src/filemanager/filegui.h +++ b/src/filemanager/filegui.h @@ -22,9 +22,8 @@ void file_op_context_create_ui (file_op_context_t * ctx, gboolean with_eta, filegui_dialog_type_t dialog_type); void file_op_context_destroy_ui (file_op_context_t * ctx); -char *file_mask_dialog (file_op_context_t * ctx, FileOperation operation, gboolean only_one, - const char *format, const void *text, const char *def_text, - gboolean * do_bg); +char *file_mask_dialog (file_op_context_t * ctx, gboolean only_one, const char *format, + const void *text, const char *def_text, gboolean * do_bg); FileProgressStatus check_progress_buttons (file_op_context_t * ctx); diff --git a/src/filemanager/filemanager.c b/src/filemanager/filemanager.c index b11e6c2e1..e5147be25 100644 --- a/src/filemanager/filemanager.c +++ b/src/filemanager/filemanager.c @@ -124,11 +124,15 @@ const char *mc_prompt = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static menu_t *left_menu, *right_menu; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /** Stop MC main dialog and the current dialog if it exists. * Needed to provide fast exit from MC viewer or editor on shell exit */ @@ -191,32 +195,31 @@ create_panel_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("File listin&g"), CK_PanelListing)); - entries = g_list_prepend (entries, menu_entry_create (_("&Quick view"), CK_PanelQuickView)); - entries = g_list_prepend (entries, menu_entry_create (_("&Info"), CK_PanelInfo)); - entries = g_list_prepend (entries, menu_entry_create (_("&Tree"), CK_PanelTree)); - entries = g_list_prepend (entries, menu_separator_create ()); + entries = g_list_prepend (entries, menu_entry_new (_("File listin&g"), CK_PanelListing)); + entries = g_list_prepend (entries, menu_entry_new (_("&Quick view"), CK_PanelQuickView)); + entries = g_list_prepend (entries, menu_entry_new (_("&Info"), CK_PanelInfo)); + entries = g_list_prepend (entries, menu_entry_new (_("&Tree"), CK_PanelTree)); + entries = g_list_prepend (entries, menu_separator_new ()); entries = - g_list_prepend (entries, - menu_entry_create (_("&Listing format..."), CK_SetupListingFormat)); - entries = g_list_prepend (entries, menu_entry_create (_("&Sort order..."), CK_Sort)); - entries = g_list_prepend (entries, menu_entry_create (_("&Filter..."), CK_Filter)); + g_list_prepend (entries, menu_entry_new (_("&Listing format..."), CK_SetupListingFormat)); + entries = g_list_prepend (entries, menu_entry_new (_("&Sort order..."), CK_Sort)); + entries = g_list_prepend (entries, menu_entry_new (_("&Filter..."), CK_Filter)); #ifdef HAVE_CHARSET - entries = g_list_prepend (entries, menu_entry_create (_("&Encoding..."), CK_SelectCodepage)); + entries = g_list_prepend (entries, menu_entry_new (_("&Encoding..."), CK_SelectCodepage)); #endif - entries = g_list_prepend (entries, menu_separator_create ()); + entries = g_list_prepend (entries, menu_separator_new ()); #ifdef ENABLE_VFS_FTP - entries = g_list_prepend (entries, menu_entry_create (_("FT&P link..."), CK_ConnectFtp)); + entries = g_list_prepend (entries, menu_entry_new (_("FT&P link..."), CK_ConnectFtp)); #endif #ifdef ENABLE_VFS_FISH - entries = g_list_prepend (entries, menu_entry_create (_("S&hell link..."), CK_ConnectFish)); + entries = g_list_prepend (entries, menu_entry_new (_("S&hell link..."), CK_ConnectFish)); #endif #ifdef ENABLE_VFS_SFTP - entries = g_list_prepend (entries, menu_entry_create (_("SFTP li&nk..."), CK_ConnectSftp)); + entries = g_list_prepend (entries, menu_entry_new (_("SFTP li&nk..."), CK_ConnectSftp)); #endif - entries = g_list_prepend (entries, menu_entry_create (_("Paneli&ze"), CK_Panelize)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Rescan"), CK_Reread)); + entries = g_list_prepend (entries, menu_entry_new (_("Paneli&ze"), CK_Panelize)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Rescan"), CK_Reread)); return g_list_reverse (entries); } @@ -228,34 +231,32 @@ create_file_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&View"), CK_View)); - entries = g_list_prepend (entries, menu_entry_create (_("Vie&w file..."), CK_ViewFile)); - entries = g_list_prepend (entries, menu_entry_create (_("&Filtered view"), CK_ViewFiltered)); - entries = g_list_prepend (entries, menu_entry_create (_("&Edit"), CK_Edit)); - entries = g_list_prepend (entries, menu_entry_create (_("&Copy"), CK_Copy)); - entries = g_list_prepend (entries, menu_entry_create (_("C&hmod"), CK_ChangeMode)); - entries = g_list_prepend (entries, menu_entry_create (_("&Link"), CK_Link)); - entries = g_list_prepend (entries, menu_entry_create (_("&Symlink"), CK_LinkSymbolic)); + entries = g_list_prepend (entries, menu_entry_new (_("&View"), CK_View)); + entries = g_list_prepend (entries, menu_entry_new (_("Vie&w file..."), CK_ViewFile)); + entries = g_list_prepend (entries, menu_entry_new (_("&Filtered view"), CK_ViewFiltered)); + entries = g_list_prepend (entries, menu_entry_new (_("&Edit"), CK_Edit)); + entries = g_list_prepend (entries, menu_entry_new (_("&Copy"), CK_Copy)); + entries = g_list_prepend (entries, menu_entry_new (_("C&hmod"), CK_ChangeMode)); + entries = g_list_prepend (entries, menu_entry_new (_("&Link"), CK_Link)); + entries = g_list_prepend (entries, menu_entry_new (_("&Symlink"), CK_LinkSymbolic)); entries = - g_list_prepend (entries, - menu_entry_create (_("Relative symlin&k"), CK_LinkSymbolicRelative)); - entries = g_list_prepend (entries, menu_entry_create (_("Edit s&ymlink"), CK_LinkSymbolicEdit)); - entries = g_list_prepend (entries, menu_entry_create (_("Ch&own"), CK_ChangeOwn)); - entries = - g_list_prepend (entries, menu_entry_create (_("&Advanced chown"), CK_ChangeOwnAdvanced)); + g_list_prepend (entries, menu_entry_new (_("Relative symlin&k"), CK_LinkSymbolicRelative)); + entries = g_list_prepend (entries, menu_entry_new (_("Edit s&ymlink"), CK_LinkSymbolicEdit)); + entries = g_list_prepend (entries, menu_entry_new (_("Ch&own"), CK_ChangeOwn)); + entries = g_list_prepend (entries, menu_entry_new (_("&Advanced chown"), CK_ChangeOwnAdvanced)); #ifdef ENABLE_EXT2FS_ATTR - entries = g_list_prepend (entries, menu_entry_create (_("Cha&ttr"), CK_ChangeAttributes)); + entries = g_list_prepend (entries, menu_entry_new (_("Cha&ttr"), CK_ChangeAttributes)); #endif - entries = g_list_prepend (entries, menu_entry_create (_("&Rename/Move"), CK_Move)); - entries = g_list_prepend (entries, menu_entry_create (_("&Mkdir"), CK_MakeDir)); - entries = g_list_prepend (entries, menu_entry_create (_("&Delete"), CK_Delete)); - entries = g_list_prepend (entries, menu_entry_create (_("&Quick cd"), CK_CdQuick)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("Select &group"), CK_Select)); - entries = g_list_prepend (entries, menu_entry_create (_("U&nselect group"), CK_Unselect)); - entries = g_list_prepend (entries, menu_entry_create (_("&Invert selection"), CK_SelectInvert)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("E&xit"), CK_Quit)); + entries = g_list_prepend (entries, menu_entry_new (_("&Rename/Move"), CK_Move)); + entries = g_list_prepend (entries, menu_entry_new (_("&Mkdir"), CK_MakeDir)); + entries = g_list_prepend (entries, menu_entry_new (_("&Delete"), CK_Delete)); + entries = g_list_prepend (entries, menu_entry_new (_("&Quick cd"), CK_CdQuick)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("Select &group"), CK_Select)); + entries = g_list_prepend (entries, menu_entry_new (_("U&nselect group"), CK_Unselect)); + entries = g_list_prepend (entries, menu_entry_new (_("&Invert selection"), CK_SelectInvert)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("E&xit"), CK_Quit)); return g_list_reverse (entries); } @@ -271,53 +272,49 @@ create_command_menu (void) */ GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&User menu"), CK_UserMenu)); - entries = g_list_prepend (entries, menu_entry_create (_("&Directory tree"), CK_Tree)); - entries = g_list_prepend (entries, menu_entry_create (_("&Find file"), CK_Find)); - entries = g_list_prepend (entries, menu_entry_create (_("S&wap panels"), CK_Swap)); - entries = g_list_prepend (entries, menu_entry_create (_("Switch &panels on/off"), CK_Shell)); - entries = - g_list_prepend (entries, menu_entry_create (_("&Compare directories"), CK_CompareDirs)); + entries = g_list_prepend (entries, menu_entry_new (_("&User menu"), CK_UserMenu)); + entries = g_list_prepend (entries, menu_entry_new (_("&Directory tree"), CK_Tree)); + entries = g_list_prepend (entries, menu_entry_new (_("&Find file"), CK_Find)); + entries = g_list_prepend (entries, menu_entry_new (_("S&wap panels"), CK_Swap)); + entries = g_list_prepend (entries, menu_entry_new (_("Switch &panels on/off"), CK_Shell)); + entries = g_list_prepend (entries, menu_entry_new (_("&Compare directories"), CK_CompareDirs)); #ifdef USE_DIFF_VIEW - entries = g_list_prepend (entries, menu_entry_create (_("C&ompare files"), CK_CompareFiles)); + entries = g_list_prepend (entries, menu_entry_new (_("C&ompare files"), CK_CompareFiles)); #endif entries = - g_list_prepend (entries, menu_entry_create (_("E&xternal panelize"), CK_ExternalPanelize)); - entries = g_list_prepend (entries, menu_entry_create (_("Show directory s&izes"), CK_DirSize)); - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("Command &history"), CK_History)); + g_list_prepend (entries, menu_entry_new (_("E&xternal panelize"), CK_ExternalPanelize)); + entries = g_list_prepend (entries, menu_entry_new (_("Show directory s&izes"), CK_DirSize)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("Command &history"), CK_History)); entries = g_list_prepend (entries, - menu_entry_create (_("Viewed/edited files hi&story"), - CK_EditorViewerHistory)); - entries = g_list_prepend (entries, menu_entry_create (_("Di&rectory hotlist"), CK_HotList)); + menu_entry_new (_("Viewed/edited files hi&story"), CK_EditorViewerHistory)); + entries = g_list_prepend (entries, menu_entry_new (_("Di&rectory hotlist"), CK_HotList)); #ifdef ENABLE_VFS - entries = g_list_prepend (entries, menu_entry_create (_("&Active VFS list"), CK_VfsList)); + entries = g_list_prepend (entries, menu_entry_new (_("&Active VFS list"), CK_VfsList)); #endif #ifdef ENABLE_BACKGROUND - entries = g_list_prepend (entries, menu_entry_create (_("&Background jobs"), CK_Jobs)); + entries = g_list_prepend (entries, menu_entry_new (_("&Background jobs"), CK_Jobs)); #endif - entries = g_list_prepend (entries, menu_entry_create (_("Screen lis&t"), CK_ScreenList)); - entries = g_list_prepend (entries, menu_separator_create ()); + entries = g_list_prepend (entries, menu_entry_new (_("Screen lis&t"), CK_ScreenList)); + entries = g_list_prepend (entries, menu_separator_new ()); #ifdef ENABLE_VFS_UNDELFS entries = - g_list_prepend (entries, - menu_entry_create (_("&Undelete files (ext2fs only)"), CK_Undelete)); + g_list_prepend (entries, menu_entry_new (_("&Undelete files (ext2fs only)"), CK_Undelete)); #endif #ifdef LISTMODE_EDITOR - entries = g_list_prepend (entries, menu_entry_create (_("&Listing format edit"), CK_ListMode)); + entries = g_list_prepend (entries, menu_entry_new (_("&Listing format edit"), CK_ListMode)); #endif #if defined (ENABLE_VFS_UNDELFS) || defined (LISTMODE_EDITOR) - entries = g_list_prepend (entries, menu_separator_create ()); + entries = g_list_prepend (entries, menu_separator_new ()); #endif entries = - g_list_prepend (entries, - menu_entry_create (_("Edit &extension file"), CK_EditExtensionsFile)); - entries = g_list_prepend (entries, menu_entry_create (_("Edit &menu file"), CK_EditUserMenu)); + g_list_prepend (entries, menu_entry_new (_("Edit &extension file"), CK_EditExtensionsFile)); + entries = g_list_prepend (entries, menu_entry_new (_("Edit &menu file"), CK_EditUserMenu)); entries = g_list_prepend (entries, - menu_entry_create (_("Edit hi&ghlighting group file"), - CK_EditFileHighlightFile)); + menu_entry_new (_("Edit hi&ghlighting group file"), + CK_EditFileHighlightFile)); return g_list_reverse (entries); } @@ -329,21 +326,19 @@ create_options_menu (void) { GList *entries = NULL; - entries = g_list_prepend (entries, menu_entry_create (_("&Configuration..."), CK_Options)); - entries = g_list_prepend (entries, menu_entry_create (_("&Layout..."), CK_OptionsLayout)); - entries = g_list_prepend (entries, menu_entry_create (_("&Panel options..."), CK_OptionsPanel)); + entries = g_list_prepend (entries, menu_entry_new (_("&Configuration..."), CK_Options)); + entries = g_list_prepend (entries, menu_entry_new (_("&Layout..."), CK_OptionsLayout)); + entries = g_list_prepend (entries, menu_entry_new (_("&Panel options..."), CK_OptionsPanel)); + entries = g_list_prepend (entries, menu_entry_new (_("C&onfirmation..."), CK_OptionsConfirm)); + entries = g_list_prepend (entries, menu_entry_new (_("&Appearance..."), CK_OptionsAppearance)); entries = - g_list_prepend (entries, menu_entry_create (_("C&onfirmation..."), CK_OptionsConfirm)); - entries = - g_list_prepend (entries, menu_entry_create (_("&Appearance..."), CK_OptionsAppearance)); - entries = - g_list_prepend (entries, menu_entry_create (_("&Display bits..."), CK_OptionsDisplayBits)); - entries = g_list_prepend (entries, menu_entry_create (_("Learn &keys..."), CK_LearnKeys)); + g_list_prepend (entries, menu_entry_new (_("&Display bits..."), CK_OptionsDisplayBits)); + entries = g_list_prepend (entries, menu_entry_new (_("Learn &keys..."), CK_LearnKeys)); #ifdef ENABLE_VFS - entries = g_list_prepend (entries, menu_entry_create (_("&Virtual FS..."), CK_OptionsVfs)); + entries = g_list_prepend (entries, menu_entry_new (_("&Virtual FS..."), CK_OptionsVfs)); #endif - entries = g_list_prepend (entries, menu_separator_create ()); - entries = g_list_prepend (entries, menu_entry_create (_("&Save setup"), CK_SaveSetup)); + entries = g_list_prepend (entries, menu_separator_new ()); + entries = g_list_prepend (entries, menu_entry_new (_("&Save setup"), CK_SaveSetup)); return g_list_reverse (entries); } @@ -353,14 +348,14 @@ create_options_menu (void) static void init_menu (void) { - left_menu = create_menu ("", create_panel_menu (), "[Left and Right Menus]"); + left_menu = menu_new ("", create_panel_menu (), "[Left and Right Menus]"); menubar_add_menu (the_menubar, left_menu); - menubar_add_menu (the_menubar, create_menu (_("&File"), create_file_menu (), "[File Menu]")); + menubar_add_menu (the_menubar, menu_new (_("&File"), create_file_menu (), "[File Menu]")); menubar_add_menu (the_menubar, - create_menu (_("&Command"), create_command_menu (), "[Command Menu]")); + menu_new (_("&Command"), create_command_menu (), "[Command Menu]")); menubar_add_menu (the_menubar, - create_menu (_("&Options"), create_options_menu (), "[Options Menu]")); - right_menu = create_menu ("", create_panel_menu (), "[Left and Right Menus]"); + menu_new (_("&Options"), create_options_menu (), "[Options Menu]")); + right_menu = menu_new ("", create_panel_menu (), "[Left and Right Menus]"); menubar_add_menu (the_menubar, right_menu); update_menu (); } @@ -918,7 +913,7 @@ create_file_manager (void) group_add_widget (g, get_panel_widget (0)); group_add_widget (g, get_panel_widget (1)); - the_hint = label_new (0, 0, 0); + the_hint = label_new (0, 0, NULL); the_hint->transparent = TRUE; the_hint->auto_adjust_cols = 0; WIDGET (the_hint)->rect.cols = COLS; diff --git a/src/filemanager/filenot.c b/src/filemanager/filenot.c index a6b658014..2bfc76ad8 100644 --- a/src/filemanager/filenot.c +++ b/src/filemanager/filenot.c @@ -52,8 +52,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/filemanager/find.c b/src/filemanager/find.c index 5ebba109f..9c4d870c5 100644 --- a/src/filemanager/find.c +++ b/src/filemanager/find.c @@ -114,13 +114,15 @@ typedef struct gsize end; } find_match_location_t; -/*** file scope variables ************************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ /* button callbacks */ static int start_stop (WButton * button, int action); static int find_do_view_file (WButton * button, int action); static int find_do_edit_file (WButton * button, int action); +/*** file scope variables ************************************************************************/ + /* Parsed ignore dirs */ static char **find_ignore_dirs = NULL; @@ -1339,31 +1341,26 @@ do_search (WDialog * h) pop_start_dir = FALSE; /* handle absolute ignore dirs here */ - { - gboolean ok; - - ok = find_ignore_dir_search (vfs_path_as_str (tmp_vpath)); - if (!ok) - break; - } + if (!find_ignore_dir_search (vfs_path_as_str (tmp_vpath))) + break; vfs_path_free (tmp_vpath, TRUE); ignore_count++; } g_free (directory); - directory = g_strdup (vfs_path_as_str (tmp_vpath)); if (verbose) { char buffer[BUF_MEDIUM]; + directory = (char *) vfs_path_as_str (tmp_vpath); g_snprintf (buffer, sizeof (buffer), _("Searching %s"), directory); status_update (str_trunc (directory, WIDGET (h)->rect.cols - 8)); } dirp = mc_opendir (tmp_vpath); - vfs_path_free (tmp_vpath, TRUE); + directory = vfs_path_free (tmp_vpath, FALSE); } /* while (!dirp) */ /* skip invalid filenames */ @@ -1709,7 +1706,7 @@ setup_gui (void) group_add_widget_autopos (g, hline_new (y++, -1, -1), WPOS_KEEP_BOTTOM, NULL); - found_num_label = label_new (y++, 4, ""); + found_num_label = label_new (y++, 4, NULL); group_add_widget_autopos (g, found_num_label, WPOS_KEEP_BOTTOM, NULL); status_label = label_new (y++, 4, _("Searching")); diff --git a/src/filemanager/hotlist.c b/src/filemanager/hotlist.c index 312a49016..3e24f4c1a 100644 --- a/src/filemanager/hotlist.c +++ b/src/filemanager/hotlist.c @@ -148,6 +148,8 @@ struct hotlist struct hotlist *next; }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static WPanel *our_panel; @@ -813,7 +815,7 @@ init_hotlist (hotlist_t list_type) path_box = groupbox_new (y, UX, 3, hotlist_widget->rect.cols, _("Directory path")); group_add_widget_autopos (g, path_box, WPOS_KEEP_BOTTOM | WPOS_KEEP_HORZ, NULL); - pname = label_new (y + 1, UX + 2, ""); + pname = label_new (y + 1, UX + 2, NULL); group_add_widget_autopos (g, pname, WPOS_KEEP_BOTTOM | WPOS_KEEP_LEFT, NULL); y += WIDGET (path_box)->rect.lines; diff --git a/src/filemanager/info.c b/src/filemanager/info.c index 8b2011707..99d15848b 100644 --- a/src/filemanager/info.c +++ b/src/filemanager/info.c @@ -6,7 +6,7 @@ Written by: Slava Zanko , 2013 - Andrew Borodin , 2013-2022 + Andrew Borodin , 2013-2023 This file is part of the Midnight Commander. @@ -34,9 +34,6 @@ #include #include #include /* PRIuMAX */ -#ifdef ENABLE_EXT2FS_ATTR -#include /* fgetflags() */ -#endif #include "lib/global.h" #include "lib/unixcompat.h" @@ -71,10 +68,13 @@ struct WInfo gboolean ready; }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static struct my_statfs myfs_stats; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -258,26 +258,20 @@ info_show_info (WInfo * info) MC_FALLTHROUGH; case 6: widget_gotoyx (w, 6, 3); -#ifdef ENABLE_EXT2FS_ATTR - if (!vfs_current_is_local ()) - tty_print_string (_("Attributes: not supported")); - else + { vfs_path_t *vpath; unsigned long attr; vpath = vfs_path_from_str (current_panel->dir.list[current_panel->selected].fname->str); - if (fgetflags (vfs_path_as_str (vpath), &attr) == 0) + if (mc_fgetflags (vpath, &attr) == 0) tty_printf (_("Attributes: %s"), chattr_get_as_str (attr)); else tty_print_string (_("Attributes: unavailable")); vfs_path_free (vpath, TRUE); } -#else - tty_print_string (_("Attributes: not supported")); -#endif MC_FALLTHROUGH; case 5: widget_gotoyx (w, 5, 3); diff --git a/src/filemanager/layout.c b/src/filemanager/layout.c index fb686d0c1..fc17b21dc 100644 --- a/src/filemanager/layout.c +++ b/src/filemanager/layout.c @@ -136,6 +136,8 @@ typedef struct int output_lines; } layout_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static struct @@ -185,6 +187,7 @@ static int output_lines_label_len; static WButton *bleft_widget, *bright_widget; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/filemanager/listmode.c b/src/filemanager/listmode.c index d7064f2e1..dac3a88e4 100644 --- a/src/filemanager/listmode.c +++ b/src/filemanager/listmode.c @@ -83,6 +83,8 @@ struct listmode_label char *text; }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static WListbox *l_listmode; @@ -104,6 +106,7 @@ static char *s_itemwidth[3] = { "Free width", "Fixed width", "Growable width" }; static WRadio *radio_itemwidth; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -117,14 +120,14 @@ select_new_item (void) possible_items = panel_get_user_possible_fields (NULL); - mylistbox = create_listbox_window (20, 12, "Add listing format item", listmode_section); + mylistbox = listbox_window_new (20, 12, "Add listing format item", listmode_section); for (i = 0; possible_items[i]; i++) { listbox_add_item (mylistbox->list, LISTBOX_APPEND_AT_END, 0, possible_items[i], NULL, FALSE); } - i = run_listbox (mylistbox); + i = listbox_run (mylistbox); if (i >= 0) ret = g_strdup (possible_items[i]); diff --git a/src/filemanager/mountlist.c b/src/filemanager/mountlist.c index 99d5a8309..d7fd73478 100644 --- a/src/filemanager/mountlist.c +++ b/src/filemanager/mountlist.c @@ -341,12 +341,15 @@ struct fs_usage uintmax_t fsu_ffree; /* Free file nodes. */ }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ #ifdef HAVE_INFOMOUNT_LIST static GSList *mc_mount_list = NULL; #endif /* HAVE_INFOMOUNT_LIST */ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/filemanager/panel.c b/src/filemanager/panel.c index 7e43c3580..9c9c162a3 100644 --- a/src/filemanager/panel.c +++ b/src/filemanager/panel.c @@ -85,25 +85,6 @@ /* The hook list for the select file function */ hook_t *select_file_hook = NULL; -static const char *string_file_name (file_entry_t *, int); -static const char *string_file_size (file_entry_t *, int); -static const char *string_file_size_brief (file_entry_t *, int); -static const char *string_file_type (file_entry_t *, int); -static const char *string_file_mtime (file_entry_t *, int); -static const char *string_file_atime (file_entry_t *, int); -static const char *string_file_ctime (file_entry_t *, int); -static const char *string_file_permission (file_entry_t *, int); -static const char *string_file_perm_octal (file_entry_t *, int); -static const char *string_file_nlinks (file_entry_t *, int); -static const char *string_inode (file_entry_t *, int); -static const char *string_file_nuid (file_entry_t *, int); -static const char *string_file_ngid (file_entry_t *, int); -static const char *string_file_owner (file_entry_t *, int); -static const char *string_file_group (file_entry_t *, int); -static const char *string_marked (file_entry_t *, int); -static const char *string_space (file_entry_t *, int); -static const char *string_dot (file_entry_t *, int); - mc_fhl_t *mc_filehighlight = NULL; /*** file scope macro definitions ****************************************************************/ @@ -156,6 +137,27 @@ typedef enum FILENAME_SCROLL_RIGHT = 4 } filename_scroll_flag_t; +/*** forward declarations (file scope functions) *************************************************/ + +static const char *string_file_name (file_entry_t *fe, int len); +static const char *string_file_size (file_entry_t *fe, int len); +static const char *string_file_size_brief (file_entry_t *fe, int len); +static const char *string_file_type (file_entry_t *fe, int len); +static const char *string_file_mtime (file_entry_t *fe, int len); +static const char *string_file_atime (file_entry_t *fe, int len); +static const char *string_file_ctime (file_entry_t *fe, int len); +static const char *string_file_permission (file_entry_t *fe, int len); +static const char *string_file_perm_octal (file_entry_t *fe, int len); +static const char *string_file_nlinks (file_entry_t *fe, int len); +static const char *string_inode (file_entry_t *fe, int len); +static const char *string_file_nuid (file_entry_t *fe, int len); +static const char *string_file_ngid (file_entry_t *fe, int len); +static const char *string_file_owner (file_entry_t *fe, int len); +static const char *string_file_group (file_entry_t *fe, int len); +static const char *string_marked (file_entry_t *fe, int len); +static const char *string_space (file_entry_t *fe, int len); +static const char *string_dot (file_entry_t *fe, int len); + /*** file scope variables ************************************************************************/ /* *INDENT-OFF* */ @@ -2701,7 +2703,9 @@ panel_select_invert_files (WPanel * panel) static void panel_do_set_filter (WPanel * panel) { - file_filter_t ff = {.value = NULL,.handler = NULL,.flags = panel->filter.flags }; + /* *INDENT-OFF* */ + file_filter_t ff = { .value = NULL, .handler = NULL, .flags = panel->filter.flags }; + /* *INDENT-ON* */ ff.handler = panel_select_unselect_files_dialog (&ff.flags, _("Filter"), MC_HISTORY_FM_PANEL_FILTER, @@ -3777,7 +3781,7 @@ panel_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *d update_xterm_title_path (); select_item (panel); - bb = find_buttonbar (h); + bb = buttonbar_find (h); midnight_set_buttonbar (bb); widget_draw (WIDGET (bb)); return MSG_HANDLED; diff --git a/src/filemanager/panel.h b/src/filemanager/panel.h index 96392cb67..dfd94e1b3 100644 --- a/src/filemanager/panel.h +++ b/src/filemanager/panel.h @@ -13,6 +13,7 @@ #include "lib/strutil.h" #include "lib/widget.h" /* Widget */ #include "lib/filehighlight.h" +#include "lib/file-entry.h" #include "dir.h" /* dir_list */ diff --git a/src/filemanager/panelize.c b/src/filemanager/panelize.c index 3c254229e..88ce29acb 100644 --- a/src/filemanager/panelize.c +++ b/src/filemanager/panelize.c @@ -39,6 +39,7 @@ #include "lib/mcconfig.h" /* Load/save directories panelize */ #include "lib/strutil.h" #include "lib/widget.h" +#include "lib/util.h" /* mc_pipe_t */ #include "src/history.h" @@ -66,6 +67,8 @@ typedef struct char *label; } panelize_entry_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static WListbox *l_panelize; diff --git a/src/filemanager/tree.c b/src/filemanager/tree.c index 945fd4864..96909c5bf 100644 --- a/src/filemanager/tree.c +++ b/src/filemanager/tree.c @@ -100,6 +100,10 @@ struct WTree shown and the selected */ }; +/*** forward declarations (file scope functions) *************************************************/ + +static void tree_rescan (void *data); + /*** file scope variables ************************************************************************/ /* Specifies the display mode: 1d or 2d */ @@ -109,10 +113,6 @@ static gboolean tree_navigation_flag = FALSE; /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static void tree_rescan (void *data); - -/* --------------------------------------------------------------------------------------------- */ - static tree_entry * back_ptr (tree_entry * ptr, int *count) { @@ -979,7 +979,7 @@ tree_toggle_navig (WTree * tree) tree_navigation_flag = !tree_navigation_flag; - b = find_buttonbar (DIALOG (w->owner)); + b = buttonbar_find (DIALOG (w->owner)); buttonbar_set_label (b, 4, tree_navigation_flag ? Q_ ("ButtonBar|Static") : Q_ ("ButtonBar|Dynamc"), w->keymap, w); @@ -1162,13 +1162,13 @@ tree_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *da show_tree (tree); if (widget_get_state (w, WST_FOCUSED)) { - b = find_buttonbar (h); + b = buttonbar_find (h); widget_draw (WIDGET (b)); } return MSG_HANDLED; case MSG_FOCUS: - b = find_buttonbar (h); + b = buttonbar_find (h); buttonbar_set_label (b, 1, Q_ ("ButtonBar|Help"), w->keymap, w); buttonbar_set_label (b, 2, Q_ ("ButtonBar|Rescan"), w->keymap, w); buttonbar_set_label (b, 3, Q_ ("ButtonBar|Forget"), w->keymap, w); diff --git a/src/filemanager/treestore.c b/src/filemanager/treestore.c index ece13f81b..2d23c9375 100644 --- a/src/filemanager/treestore.c +++ b/src/filemanager/treestore.c @@ -70,6 +70,10 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + +static tree_entry *tree_store_add_entry (const vfs_path_t * name); + /*** file scope variables ************************************************************************/ static struct TreeStore ts; @@ -80,10 +84,6 @@ static hook_t *remove_entry_hooks; /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static tree_entry *tree_store_add_entry (const vfs_path_t * name); - -/* --------------------------------------------------------------------------------------------- */ - static inline void tree_store_dirty (gboolean dirty) { diff --git a/src/help.c b/src/help.c index c5733512e..732aee8de 100644 --- a/src/help.c +++ b/src/help.c @@ -90,6 +90,8 @@ typedef struct Link_Area const char *link_name; } Link_Area; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static char *fdata = NULL; /* Pointer to the loaded data file */ @@ -113,8 +115,7 @@ static struct static GSList *link_area = NULL; static gboolean inside_link_area = FALSE; -static cb_ret_t help_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data); - +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -888,7 +889,7 @@ help_resize (WDialog * h) r.lines = help_lines + 4; r.cols = HELP_WINDOW_WIDTH + 4; dlg_default_callback (w, NULL, MSG_RESIZE, 0, &r); - bb = find_buttonbar (h); + bb = buttonbar_find (h); widget_set_size (WIDGET (bb), LINES - 1, 0, 1, COLS); return MSG_HANDLED; diff --git a/src/keymap.c b/src/keymap.c index bcfa9148e..3f6cce420 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -93,6 +93,8 @@ typedef struct global_keymap_ini_t const char *value; } global_keymap_ini_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* midnight */ @@ -618,12 +620,6 @@ static const global_keymap_ini_t default_diff_keymap[] = { }; #endif -/*** file scope macro definitions ****************************************************************/ - -/*** file scope type declarations ****************************************************************/ - -/*** file scope variables ************************************************************************/ - /* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/learn.c b/src/learn.c index 5484bd543..5fed64314 100644 --- a/src/learn.c +++ b/src/learn.c @@ -65,6 +65,8 @@ typedef struct char *sequence; } learnkey_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static WDialog *learn_dlg; @@ -75,6 +77,7 @@ static int learn_total; static int learnok; static gboolean learnchanged = FALSE; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -310,7 +313,7 @@ init_learn (void) learnkeys[i].button = WIDGET (button_new (y, x, B_USER + i, NARROW_BUTTON, buffer, learn_button)); - learnkeys[i].label = WIDGET (label_new (y, x + 19, "")); + learnkeys[i].label = WIDGET (label_new (y, x + 19, NULL)); group_add_widget (g, learnkeys[i].button); group_add_widget (g, learnkeys[i].label); diff --git a/src/main.c b/src/main.c index 3b0a5588c..c18e069c6 100644 --- a/src/main.c +++ b/src/main.c @@ -86,8 +86,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/selcodepage.c b/src/selcodepage.c index 4d74333d2..1461bba84 100644 --- a/src/selcodepage.c +++ b/src/selcodepage.c @@ -50,12 +50,14 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ - static unsigned char get_hotkey (int n) { @@ -75,15 +77,15 @@ get_hotkey (int n) int select_charset (int center_y, int center_x, int current_charset, gboolean seldisplay) { + Listbox *listbox; size_t i; int listbox_result; char buffer[255]; /* Create listbox */ - Listbox *listbox = create_listbox_window_centered (center_y, center_x, - codepages->len + 1, ENTRY_LEN + 2, - _("Choose codepage"), - "[Codepages Translation]"); + listbox = + listbox_window_centered_new (center_y, center_x, codepages->len + 1, ENTRY_LEN + 2, + _("Choose codepage"), "[Codepages Translation]"); if (!seldisplay) LISTBOX_APPEND_TEXT (listbox, '-', _("- < No translation >"), NULL, FALSE); @@ -109,7 +111,7 @@ select_charset (int center_y, int center_x, int current_charset, gboolean seldis listbox_select_entry (listbox->list, i); - listbox_result = run_listbox (listbox); + listbox_result = listbox_run (listbox); if (listbox_result < 0) { @@ -133,8 +135,8 @@ select_charset (int center_y, int center_x, int current_charset, gboolean seldis } } - /* --------------------------------------------------------------------------------------------- */ + /** Set codepage */ gboolean do_set_codepage (int codepage) @@ -158,8 +160,8 @@ do_set_codepage (int codepage) } /* --------------------------------------------------------------------------------------------- */ -/** Show menu selecting codepage */ +/** Show menu selecting codepage */ gboolean do_select_codepage (void) { diff --git a/src/setup.c b/src/setup.c index 746da8514..29bf1e5c2 100644 --- a/src/setup.c +++ b/src/setup.c @@ -222,6 +222,8 @@ GArray *macros_list; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static char *profile_name = NULL; /* ${XDG_CONFIG_HOME}/mc/ini */ @@ -336,27 +338,27 @@ static const struct #endif /* ENABLE_VFS_FTP */ #endif /* ENABLE_VFS */ #ifdef USE_INTERNAL_EDIT - { "editor_fill_tabs_with_spaces", &option_fill_tabs_with_spaces }, - { "editor_return_does_auto_indent", &option_return_does_auto_indent }, - { "editor_backspace_through_tabs", &option_backspace_through_tabs }, - { "editor_fake_half_tabs", &option_fake_half_tabs }, - { "editor_option_save_position", &option_save_position }, - { "editor_option_auto_para_formatting", &option_auto_para_formatting }, - { "editor_option_typewriter_wrap", &option_typewriter_wrap }, - { "editor_edit_confirm_save", &edit_confirm_save }, - { "editor_syntax_highlighting", &option_syntax_highlighting }, - { "editor_persistent_selections", &option_persistent_selections }, - { "editor_drop_selection_on_copy", &option_drop_selection_on_copy }, - { "editor_cursor_beyond_eol", &option_cursor_beyond_eol }, - { "editor_cursor_after_inserted_block", &option_cursor_after_inserted_block }, - { "editor_visible_tabs", &visible_tabs }, - { "editor_visible_spaces", &visible_tws }, - { "editor_line_state", &option_line_state }, - { "editor_simple_statusbar", &simple_statusbar }, - { "editor_check_new_line", &option_check_nl_at_eof }, - { "editor_show_right_margin", &show_right_margin }, - { "editor_group_undo", &option_group_undo }, - { "editor_state_full_filename", &option_state_full_filename }, + { "editor_fill_tabs_with_spaces", &edit_options.fill_tabs_with_spaces }, + { "editor_return_does_auto_indent", &edit_options.return_does_auto_indent }, + { "editor_backspace_through_tabs", &edit_options.backspace_through_tabs }, + { "editor_fake_half_tabs", &edit_options.fake_half_tabs }, + { "editor_option_save_position", &edit_options.save_position }, + { "editor_option_auto_para_formatting", &edit_options.auto_para_formatting }, + { "editor_option_typewriter_wrap", &edit_options.typewriter_wrap }, + { "editor_edit_confirm_save", &edit_options.confirm_save }, + { "editor_syntax_highlighting", &edit_options.syntax_highlighting }, + { "editor_persistent_selections", &edit_options.persistent_selections }, + { "editor_drop_selection_on_copy", &edit_options.drop_selection_on_copy }, + { "editor_cursor_beyond_eol", &edit_options.cursor_beyond_eol }, + { "editor_cursor_after_inserted_block", &edit_options.cursor_after_inserted_block }, + { "editor_visible_tabs", &edit_options.visible_tabs }, + { "editor_visible_spaces", &edit_options.visible_tws }, + { "editor_line_state", &edit_options.line_state }, + { "editor_simple_statusbar", &edit_options.simple_statusbar }, + { "editor_check_new_line", &edit_options.check_nl_at_eof }, + { "editor_show_right_margin", &edit_options.show_right_margin }, + { "editor_group_undo", &edit_options.group_undo }, + { "editor_state_full_filename", &edit_options.state_full_filename }, #endif /* USE_INTERNAL_EDIT */ { "editor_ask_filename_before_edit", &editor_ask_filename_before_edit }, { "nice_rotating_dash", &nice_rotating_dash }, @@ -391,8 +393,8 @@ static const struct /* option_tab_spacing is used in internal viewer */ { "editor_tab_spacing", &option_tab_spacing }, #ifdef USE_INTERNAL_EDIT - { "editor_word_wrap_line_length", &option_word_wrap_line_length }, - { "editor_option_save_mode", &option_save_mode }, + { "editor_word_wrap_line_length", &edit_options.word_wrap_line_length }, + { "editor_option_save_mode", &edit_options.save_mode }, #endif /* USE_INTERNAL_EDIT */ { NULL, NULL } }; @@ -404,9 +406,9 @@ static const struct const char *opt_defval; } str_options[] = { #ifdef USE_INTERNAL_EDIT - { "editor_backup_extension", &option_backup_ext, "~" }, - { "editor_filesize_threshold", &option_filesize_threshold, "64M" }, - { "editor_stop_format_chars", &option_stop_format_chars, "-+*\\,.;:&>" }, + { "editor_backup_extension", &edit_options.backup_ext, "~" }, + { "editor_filesize_threshold", &edit_options.filesize_threshold, "64M" }, + { "editor_stop_format_chars", &edit_options.stop_format_chars, "-+*\\,.;:&>" }, #endif { "mcview_eof", &mcview_show_eof, "" }, { NULL, NULL, NULL } @@ -531,8 +533,8 @@ load_config (void) /* Overwrite some options */ #ifdef USE_INTERNAL_EDIT - if (option_word_wrap_line_length <= 0) - option_word_wrap_line_length = DEFAULT_WRAP_LINE_LENGTH; + if (edit_options.word_wrap_line_length <= 0) + edit_options.word_wrap_line_length = DEFAULT_WRAP_LINE_LENGTH; #else /* Reset forced in case of build without internal editor */ use_internal_edit = FALSE; diff --git a/src/subshell/common.c b/src/subshell/common.c index d30457fef..3ea4b5ff7 100644 --- a/src/subshell/common.c +++ b/src/subshell/common.c @@ -168,6 +168,8 @@ enum * the cursor. */ #define SHELL_CURSOR_KEYBINDING "+" +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* tcsh closes all non-standard file descriptors, so we have to use a pipe */ diff --git a/src/textconf.c b/src/textconf.c index ed6be478c..e8accd9e8 100644 --- a/src/textconf.c +++ b/src/textconf.c @@ -48,6 +48,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ #ifdef ENABLE_VFS diff --git a/src/usermenu.c b/src/usermenu.c index 22c19bf7b..c1eee3df7 100644 --- a/src/usermenu.c +++ b/src/usermenu.c @@ -44,9 +44,10 @@ #include "lib/vfs/vfs.h" #include "lib/strutil.h" #include "lib/util.h" -#include "lib/widget.h" -#include "src/editor/edit.h" /* WEdit, BLOCK_FILE */ +#ifdef USE_INTERNAL_EDIT +#include "src/editor/edit.h" /* WEdit */ +#endif #include "src/viewer/mcviewer.h" /* for default_* externs */ #include "src/args.h" /* mc_run_param0 */ @@ -69,12 +70,15 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static gboolean debug_flag = FALSE; static gboolean debug_error = FALSE; static char *menu = NULL; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -216,10 +220,13 @@ test_type (WPanel * panel, char *arg) p. Returns the point after condition. */ static char * -test_condition (const WEdit * edit_widget, char *p, gboolean * condition) +test_condition (const Widget * edit_widget, char *p, gboolean * condition) { char arg[256]; const mc_search_type_t search_type = easy_patterns ? MC_SEARCH_T_GLOB : MC_SEARCH_T_REGEX; +#ifdef USE_INTERNAL_EDIT + const WEdit *e = CONST_EDIT (edit_widget); +#endif /* Handle one condition */ for (; *p != '\n' && *p != '&' && *p != '|'; p++) @@ -246,11 +253,11 @@ test_condition (const WEdit * edit_widget, char *p, gboolean * condition) case 'f': /* file name pattern */ p = extract_arg (p, arg, sizeof (arg)); #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) + if (e != NULL) { const char *edit_filename; - edit_filename = edit_get_file_name (edit_widget); + edit_filename = edit_get_file_name (e); *condition = mc_search (arg, DEFAULT_CHARSET, edit_filename, search_type); } else @@ -261,11 +268,11 @@ test_condition (const WEdit * edit_widget, char *p, gboolean * condition) break; case 'y': /* syntax pattern */ #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) + if (e != NULL) { const char *syntax_type; - syntax_type = edit_get_syntax_type (edit_widget); + syntax_type = edit_get_syntax_type (e); if (syntax_type != NULL) { p = extract_arg (p, arg, sizeof (arg)); @@ -357,7 +364,7 @@ debug_out (char *start, char *end, gboolean condition) the point just before the end of line. */ static char * -test_line (const WEdit * edit_widget, char *p, gboolean * result) +test_line (const Widget * edit_widget, char *p, gboolean * result) { char operator; @@ -423,7 +430,7 @@ test_line (const WEdit * edit_widget, char *p, gboolean * result) /** FIXME: recode this routine on version 3.0, it could be cleaner */ static void -execute_menu_command (const WEdit * edit_widget, const char *commands, gboolean show_prompt) +execute_menu_command (const Widget * edit_widget, const char *commands, gboolean show_prompt) { FILE *cmd_file; int cmd_file_fd; @@ -739,7 +746,7 @@ check_format_var (const char *p, char **v) /* --------------------------------------------------------------------------------------------- */ char * -expand_format (const WEdit * edit_widget, char c, gboolean do_quote) +expand_format (const Widget * edit_widget, char c, gboolean do_quote) { WPanel *panel = NULL; char *(*quote_func) (const char *, gboolean); @@ -747,7 +754,9 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote) char *result; char c_lc; -#ifndef USE_INTERNAL_EDIT +#ifdef USE_INTERNAL_EDIT + const WEdit *e = CONST_EDIT (edit_widget); +#else (void) edit_widget; #endif @@ -758,8 +767,8 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote) { case MC_RUN_FULL: #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) - fname = edit_get_file_name (edit_widget); + if (e != NULL) + fname = edit_get_file_name (e); else #endif { @@ -778,7 +787,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote) #ifdef USE_INTERNAL_EDIT case MC_RUN_EDITOR: - fname = edit_get_file_name (edit_widget); + fname = edit_get_file_name (e); break; #endif @@ -825,29 +834,29 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote) } case 'c': #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) + if (e != NULL) { - result = g_strdup_printf ("%u", (unsigned int) edit_get_cursor_offset (edit_widget)); + result = g_strdup_printf ("%u", (unsigned int) edit_get_cursor_offset (e)); goto ret; } #endif break; case 'i': /* indent equal number cursor position in line */ #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) + if (e != NULL) { - result = g_strnfill (edit_get_curs_col (edit_widget), ' '); + result = g_strnfill (edit_get_curs_col (e), ' '); goto ret; } #endif break; case 'y': /* syntax type */ #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) + if (e != NULL) { const char *syntax_type; - syntax_type = edit_get_syntax_type (edit_widget); + syntax_type = edit_get_syntax_type (e); if (syntax_type != NULL) { result = g_strdup (syntax_type); @@ -859,7 +868,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote) case 'k': /* block file name */ case 'b': /* block file name / strip extension */ #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) + if (e != NULL) { char *file; @@ -877,7 +886,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote) break; case 'n': /* strip extension in editor */ #ifdef USE_INTERNAL_EDIT - if (edit_widget != NULL) + if (e != NULL) { result = strip_ext (quote_func (fname, FALSE)); goto ret; @@ -947,7 +956,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote) */ gboolean -user_menu_cmd (const WEdit * edit_widget, const char *menu_file, int selected_entry) +user_menu_cmd (const Widget * edit_widget, const char *menu_file, int selected_entry) { char *p; char *data, **entries; @@ -1132,8 +1141,8 @@ user_menu_cmd (const WEdit * edit_widget, const char *menu_file, int selected_en max_cols = MIN (MAX (max_cols, col), MAX_ENTRY_LEN); /* Create listbox */ - listbox = create_listbox_window (menu_lines, max_cols + 2, _("User menu"), - "[Edit Menu File]"); + listbox = listbox_window_new (menu_lines, max_cols + 2, _("User menu"), + "[Edit Menu File]"); /* insert all the items found */ for (i = 0; i < menu_lines; i++) { @@ -1144,7 +1153,7 @@ user_menu_cmd (const WEdit * edit_widget, const char *menu_file, int selected_en /* Select the default entry */ listbox_select_entry (listbox->list, selected); - selected = run_listbox (listbox); + selected = listbox_run (listbox); } if (selected >= 0) { diff --git a/src/usermenu.h b/src/usermenu.h index 028cd8866..7a997fe5a 100644 --- a/src/usermenu.h +++ b/src/usermenu.h @@ -6,8 +6,7 @@ #define MC__USERMENU_H #include "lib/global.h" - -#include "src/editor/edit.h" /* WEdit */ +#include "lib/widget.h" /*** typedefs(not structures) and defined constants **********************************************/ @@ -19,8 +18,8 @@ /*** declarations of public functions ************************************************************/ -gboolean user_menu_cmd (const WEdit * edit_widget, const char *menu_file, int selected_entry); -char *expand_format (const WEdit * edit_widget, char c, gboolean do_quote); +gboolean user_menu_cmd (const Widget * edit_widget, const char *menu_file, int selected_entry); +char *expand_format (const Widget * edit_widget, char c, gboolean do_quote); int check_format_view (const char *p); int check_format_var (const char *p, char **v); int check_format_cd (const char *p); diff --git a/src/vfs/cpio/cpio.c b/src/vfs/cpio/cpio.c index 0d511b68c..447d1f644 100644 --- a/src/vfs/cpio/cpio.c +++ b/src/vfs/cpio/cpio.c @@ -139,6 +139,13 @@ typedef struct GSList *deferred; /* List of inodes for which another entries may appear */ } cpio_super_t; +/*** forward declarations (file scope functions) *************************************************/ + +static ssize_t cpio_find_head (struct vfs_class *me, struct vfs_s_super *super); +static ssize_t cpio_read_bin_head (struct vfs_class *me, struct vfs_s_super *super); +static ssize_t cpio_read_oldc_head (struct vfs_class *me, struct vfs_s_super *super); +static ssize_t cpio_read_crc_head (struct vfs_class *me, struct vfs_s_super *super); + /*** file scope variables ************************************************************************/ static struct vfs_s_subclass cpio_subclass; @@ -150,14 +157,6 @@ static off_t cpio_position; /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static ssize_t cpio_find_head (struct vfs_class *me, struct vfs_s_super *super); -static ssize_t cpio_read_bin_head (struct vfs_class *me, struct vfs_s_super *super); -static ssize_t cpio_read_oldc_head (struct vfs_class *me, struct vfs_s_super *super); -static ssize_t cpio_read_crc_head (struct vfs_class *me, struct vfs_s_super *super); -static ssize_t cpio_read (void *fh, char *buffer, size_t count); - -/* --------------------------------------------------------------------------------------------- */ - static int cpio_defer_find (const void *a, const void *b) { diff --git a/src/vfs/extfs/extfs.c b/src/vfs/extfs/extfs.c index df611f0a3..f6450c717 100644 --- a/src/vfs/extfs/extfs.c +++ b/src/vfs/extfs/extfs.c @@ -95,6 +95,10 @@ typedef struct gboolean need_archive; } extfs_plugin_info_t; +/*** forward declarations (file scope functions) *************************************************/ + +static struct vfs_s_entry *extfs_resolve_symlinks_int (struct vfs_s_entry *entry, GSList * list); + /*** file scope variables ************************************************************************/ static GArray *extfs_plugins = NULL; @@ -111,10 +115,6 @@ static int my_errno = 0; /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static struct vfs_s_entry *extfs_resolve_symlinks_int (struct vfs_s_entry *entry, GSList * list); - -/* --------------------------------------------------------------------------------------------- */ - static struct extfs_super_t * extfs_super_new (struct vfs_class *me, const char *name, const vfs_path_t * local_name_vpath, int fstype) diff --git a/src/vfs/fish/fish.c b/src/vfs/fish/fish.c index 2fc970af8..51a7e379e 100644 --- a/src/vfs/fish/fish.c +++ b/src/vfs/fish/fish.c @@ -155,6 +155,8 @@ typedef struct gboolean append; } fish_file_handler_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static char reply_str[80]; diff --git a/src/vfs/ftpfs/ftpfs.c b/src/vfs/ftpfs/ftpfs.c index 389e35ceb..36e5f5800 100644 --- a/src/vfs/ftpfs/ftpfs.c +++ b/src/vfs/ftpfs/ftpfs.c @@ -95,6 +95,7 @@ What to do with this? #include /* uintmax_t */ #include "lib/global.h" +#include "lib/file-entry.h" #include "lib/util.h" #include "lib/strutil.h" /* str_move() */ #include "lib/mcconfig.h" @@ -231,6 +232,16 @@ typedef struct gboolean append; } ftp_file_handler_t; +/*** forward declarations (file scope functions) *************************************************/ + +static char *ftpfs_get_current_directory (struct vfs_class *me, struct vfs_s_super *super); +static int ftpfs_chdir_internal (struct vfs_class *me, struct vfs_s_super *super, + const char *remote_path); +static int ftpfs_open_socket (struct vfs_class *me, struct vfs_s_super *super); +static gboolean ftpfs_login_server (struct vfs_class *me, struct vfs_s_super *super, + const char *netrcpass); +static gboolean ftpfs_netrc_lookup (const char *host, char **login, char **pass); + /*** file scope variables ************************************************************************/ static int code; @@ -250,29 +261,6 @@ static const char *netrcp; /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -/* char *ftpfs_translate_path (struct ftpfs_connection *bucket, char *remote_path) - Translate a Unix path, i.e. MC's internal path representation (e.g. - /somedir/somefile) to a path valid for the remote server. Every path - transferred to the remote server has to be mangled by this function - right prior to sending it. - Currently only Amiga ftp servers are handled in a special manner. - - When the remote server is an amiga: - a) strip leading slash if necessary - b) replace first occurrence of ":/" with ":" - c) strip trailing "/." - */ - -static char *ftpfs_get_current_directory (struct vfs_class *me, struct vfs_s_super *super); -static int ftpfs_chdir_internal (struct vfs_class *me, struct vfs_s_super *super, - const char *remote_path); -static int ftpfs_open_socket (struct vfs_class *me, struct vfs_s_super *super); -static gboolean ftpfs_login_server (struct vfs_class *me, struct vfs_s_super *super, - const char *netrcpass); -static gboolean ftpfs_netrc_lookup (const char *host, char **login, char **pass); - -/* --------------------------------------------------------------------------------------------- */ - static void ftpfs_set_blksize (struct stat *s) { @@ -298,6 +286,17 @@ ftpfs_default_stat (struct vfs_class *me) /* --------------------------------------------------------------------------------------------- */ +/* Translate a Unix path, i.e. MC's internal path representation (e.g. + /somedir/somefile) to a path valid for the remote server. Every path + transferred to the remote server has to be mangled by this function + right prior to sending it. + Currently only Amiga ftp servers are handled in a special manner. + + When the remote server is an amiga: + a) strip leading slash if necessary + b) replace first occurrence of ":/" with ":" + c) strip trailing "/." + */ static char * ftpfs_translate_path (struct vfs_class *me, struct vfs_s_super *super, const char *remote_path) { diff --git a/src/vfs/ftpfs/ftpfs_parse_ls.c b/src/vfs/ftpfs/ftpfs_parse_ls.c index 37f01ef7d..f17dd8e58 100644 --- a/src/vfs/ftpfs/ftpfs_parse_ls.c +++ b/src/vfs/ftpfs/ftpfs_parse_ls.c @@ -79,7 +79,8 @@ typedef enum typedef gboolean (*ftpfs_line_parser) (char *line, struct stat * s, char **filename, char **linkname, int *err); -/* formard declarations */ +/*** forward declarations (file scope functions) *************************************************/ + static gboolean ftpfs_parse_long_list_UNIX (char *line, struct stat *s, char **filename, char **linkname, int *err); static gboolean ftpfs_parse_long_list_NT (char *line, struct stat *s, char **filename, diff --git a/src/vfs/local/local.c b/src/vfs/local/local.c index 1906fc865..fc66c7ea0 100644 --- a/src/vfs/local/local.c +++ b/src/vfs/local/local.c @@ -31,6 +31,9 @@ #include #include #include +#ifdef ENABLE_EXT2FS_ATTR +#include /* fgetflags(), fsetflags() */ +#endif #include "lib/global.h" @@ -45,6 +48,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static struct vfs_s_subclass local_subclass; @@ -54,15 +59,6 @@ static struct vfs_class *vfs_local_ops = VFS_CLASS (&local_subclass); /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -/** - * Note: Some of this functions are not static. This has rather good - * reason: exactly same functions would have to appear in sfs.c. This - * saves both computer's memory and my work. - */ - - -/* --------------------------------------------------------------------------------------------- */ - static void * local_open (const vfs_path_t * vpath, int flags, mode_t mode) { @@ -192,6 +188,32 @@ local_chown (const vfs_path_t * vpath, uid_t owner, gid_t group) /* --------------------------------------------------------------------------------------------- */ +#ifdef ENABLE_EXT2FS_ATTR + +static int +local_fgetflags (const vfs_path_t * vpath, unsigned long *flags) +{ + const vfs_path_element_t *path_element; + + path_element = vfs_path_get_by_index (vpath, -1); + return fgetflags (path_element->path, flags); +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +local_fsetflags (const vfs_path_t * vpath, unsigned long flags) +{ + const vfs_path_element_t *path_element; + + path_element = vfs_path_get_by_index (vpath, -1); + return fsetflags (path_element->path, flags); +} + +#endif /* ENABLE_EXT2FS_ATTR */ + +/* --------------------------------------------------------------------------------------------- */ + static int local_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) { @@ -476,6 +498,10 @@ vfs_init_localfs (void) vfs_local_ops->fstat = local_fstat; vfs_local_ops->chmod = local_chmod; vfs_local_ops->chown = local_chown; +#ifdef ENABLE_EXT2FS_ATTR + vfs_local_ops->fgetflags = local_fgetflags; + vfs_local_ops->fsetflags = local_fsetflags; +#endif vfs_local_ops->utime = local_utime; vfs_local_ops->readlink = local_readlink; vfs_local_ops->symlink = local_symlink; diff --git a/src/vfs/sfs/sfs.c b/src/vfs/sfs/sfs.c index d65349980..83b1e37fb 100644 --- a/src/vfs/sfs/sfs.c +++ b/src/vfs/sfs/sfs.c @@ -102,6 +102,8 @@ typedef struct cachedfile char *cache; } cachedfile; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static GSList *head = NULL; @@ -117,7 +119,9 @@ static struct sfs_flags_t flags; } sfs_info[MAXFS]; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ static int cachedfile_compare (const void *a, const void *b) diff --git a/src/vfs/sftpfs/config_parser.c b/src/vfs/sftpfs/config_parser.c index 9336f058d..d3e2287e8 100644 --- a/src/vfs/sftpfs/config_parser.c +++ b/src/vfs/sftpfs/config_parser.c @@ -68,6 +68,8 @@ enum config_var_type FILENAME }; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* *INDENT-OFF* */ diff --git a/src/vfs/sftpfs/connection.c b/src/vfs/sftpfs/connection.c index 5d3f22f81..d2466dedb 100644 --- a/src/vfs/sftpfs/connection.c +++ b/src/vfs/sftpfs/connection.c @@ -55,6 +55,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ #ifdef LIBSSH2_KNOWNHOST_KEY_ED25519 diff --git a/src/vfs/sftpfs/file.c b/src/vfs/sftpfs/file.c index a92f6e667..daeb26468 100644 --- a/src/vfs/sftpfs/file.c +++ b/src/vfs/sftpfs/file.c @@ -52,6 +52,8 @@ typedef struct mode_t mode; } sftpfs_file_handler_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/vfs/sftpfs/internal.c b/src/vfs/sftpfs/internal.c index cc3923eb3..f7edbbbf1 100644 --- a/src/vfs/sftpfs/internal.c +++ b/src/vfs/sftpfs/internal.c @@ -48,6 +48,8 @@ GString *sftpfs_filename_buffer = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/vfs/sftpfs/sftpfs.c b/src/vfs/sftpfs/sftpfs.c index 74243485d..551928d7b 100644 --- a/src/vfs/sftpfs/sftpfs.c +++ b/src/vfs/sftpfs/sftpfs.c @@ -50,6 +50,8 @@ struct vfs_class *vfs_sftpfs_ops = VFS_CLASS (&sftpfs_subclass); /* used /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/vfs/tar/tar.c b/src/vfs/tar/tar.c index 7e676e09d..077857d7f 100644 --- a/src/vfs/tar/tar.c +++ b/src/vfs/tar/tar.c @@ -36,9 +36,11 @@ */ #include -#include -#include + #include +#include +#include +#include #ifdef hpux /* major() and minor() macros (among other things) defined here for hpux */ @@ -169,25 +171,6 @@ struct sparse /* 24 */ }; -/* The GNU extra header contains some information GNU tar needs, but not - foreseen in POSIX header format. It is only used after a POSIX header - (and never with old GNU headers), and immediately follows this POSIX - header, when typeflag is a letter rather than a digit, so signaling a GNU - extension. */ -struct extra_header -{ /* byte offset */ - char atime[12]; /* 0 */ - char ctime[12]; /* 12 */ - char offset[12]; /* 24 */ - char realsize[12]; /* 36 */ - char longnames[4]; /* 48 */ - char unused_pad1[68]; /* 52 */ - struct sparse sp[SPARSES_IN_EXTRA_HEADER]; - /* 120 */ - char isextended; /* 504 */ - /* 505 */ -}; - /* Extension header for sparse files, used immediately after the GNU extra header, and used only if all sparse information cannot fit into that extra header. There might even be many such extension headers, one after @@ -229,7 +212,6 @@ union block { char buffer[BLOCKSIZE]; struct posix_header header; - struct extra_header extra_header; struct oldgnu_header oldgnu_header; struct sparse_header sparse_header; }; @@ -245,11 +227,12 @@ enum archive_format typedef enum { - STATUS_BADCHECKSUM, - STATUS_SUCCESS, - STATUS_EOFMARK, - STATUS_EOF -} ReadStatus; + HEADER_STILL_UNREAD, /* for when read_header has not been called */ + HEADER_SUCCESS, /* header successfully read and checksummed */ + HEADER_ZERO_BLOCK, /* zero block where header expected */ + HEADER_END_OF_FILE, /* true end of file while header expected */ + HEADER_FAILURE /* ill-formed header, or bad checksum */ +} read_header; typedef struct { @@ -260,6 +243,8 @@ typedef struct enum archive_format type; /* Type of the archive */ } tar_super_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static struct vfs_s_subclass tarfs_subclass; @@ -304,104 +289,6 @@ tar_from_oct (int digs, const char *where) /* --------------------------------------------------------------------------------------------- */ -static struct vfs_s_super * -tar_new_archive (struct vfs_class *me) -{ - tar_super_t *arch; - - arch = g_new0 (tar_super_t, 1); - arch->base.me = me; - arch->fd = -1; - arch->type = TAR_UNKNOWN; - - return VFS_SUPER (arch); -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -tar_free_archive (struct vfs_class *me, struct vfs_s_super *archive) -{ - tar_super_t *arch = TAR_SUPER (archive); - - (void) me; - - if (arch->fd != -1) - { - mc_close (arch->fd); - arch->fd = -1; - } -} - -/* --------------------------------------------------------------------------------------------- */ - -/* Returns fd of the open tar file */ -static int -tar_open_archive_int (struct vfs_class *me, const vfs_path_t * vpath, struct vfs_s_super *archive) -{ - int result, type; - tar_super_t *arch; - mode_t mode; - struct vfs_s_inode *root; - - result = mc_open (vpath, O_RDONLY); - if (result == -1) - { - message (D_ERROR, MSG_ERROR, _("Cannot open tar archive\n%s"), vfs_path_as_str (vpath)); - ERRNOR (ENOENT, -1); - } - - archive->name = g_strdup (vfs_path_as_str (vpath)); - arch = TAR_SUPER (archive); - mc_stat (vpath, &arch->st); - - /* Find out the method to handle this tar file */ - type = get_compression_type (result, archive->name); - if (type == COMPRESSION_NONE) - mc_lseek (result, 0, SEEK_SET); - else - { - char *s; - vfs_path_t *tmp_vpath; - - mc_close (result); - s = g_strconcat (archive->name, decompress_extension (type), (char *) NULL); - tmp_vpath = vfs_path_from_str_flags (s, VPF_NO_CANON); - result = mc_open (tmp_vpath, O_RDONLY); - vfs_path_free (tmp_vpath, TRUE); - if (result == -1) - message (D_ERROR, MSG_ERROR, _("Cannot open tar archive\n%s"), s); - g_free (s); - if (result == -1) - { - MC_PTR_FREE (archive->name); - ERRNOR (ENOENT, -1); - } - } - - arch->fd = result; - mode = arch->st.st_mode & 07777; - if (mode & 0400) - mode |= 0100; - if (mode & 0040) - mode |= 0010; - if (mode & 0004) - mode |= 0001; - mode |= S_IFDIR; - - root = vfs_s_new_inode (me, archive, &arch->st); - root->st.st_mode = mode; - root->data_offset = -1; - root->st.st_nlink++; - root->st.st_dev = VFS_SUBCLASS (me)->rdev++; - - archive->root = root; - - return result; -} - -/* --------------------------------------------------------------------------------------------- */ - static union block * tar_get_next_block (struct vfs_s_super *archive, int tard) { @@ -419,7 +306,7 @@ tar_get_next_block (struct vfs_s_super *archive, int tard) /* --------------------------------------------------------------------------------------------- */ static void -tar_skip_n_records (struct vfs_s_super *archive, int tard, size_t n) +tar_skip_n_records (struct vfs_s_super *archive, int tard, off_t n) { (void) archive; @@ -429,48 +316,47 @@ tar_skip_n_records (struct vfs_s_super *archive, int tard, size_t n) /* --------------------------------------------------------------------------------------------- */ -static ReadStatus +/** Check header checksum. + */ +static read_header tar_checksum (const union block *header) { - long recsum; - long signed_sum = 0; - long sum = 0; - int i; + size_t i; + int unsigned_sum = 0; /* the POSIX one :-) */ + int signed_sum = 0; /* the Sun one :-( */ + int recorded_sum; + long parsed_sum; const char *p = header->buffer; - recsum = tar_from_oct (8, header->header.chksum); - - for (i = sizeof (*header); --i >= 0;) + for (i = sizeof (*header); i-- != 0;) { - /* - * We can't use unsigned char here because of old compilers, - * e.g. V7. - */ - signed_sum += *p; - sum += 0xFF & *p++; + unsigned_sum += (unsigned char) *p; + signed_sum += (signed char) (*p++); } - /* Adjust checksum to count the "chksum" field as blanks. */ - for (i = sizeof (header->header.chksum); --i >= 0;) + if (unsigned_sum == 0) + return HEADER_ZERO_BLOCK; + + /* Adjust checksum to count the "chksum" field as blanks. */ + for (i = sizeof (header->header.chksum); i-- != 0;) { - sum -= 0xFF & header->header.chksum[i]; - signed_sum -= (char) header->header.chksum[i]; + unsigned_sum -= (unsigned char) header->header.chksum[i]; + signed_sum -= (signed char) (header->header.chksum[i]); } - sum += ' ' * sizeof (header->header.chksum); + unsigned_sum += ' ' * sizeof (header->header.chksum); signed_sum += ' ' * sizeof (header->header.chksum); - /* - * This is a zeroed block... whole block is 0's except - * for the 8 blanks we faked for the checksum field. - */ - if (sum == 8 * ' ') - return STATUS_EOFMARK; + parsed_sum = tar_from_oct (8, header->header.chksum); + if (parsed_sum == -1) + return HEADER_FAILURE; - if (sum != recsum && signed_sum != recsum) - return STATUS_BADCHECKSUM; + recorded_sum = parsed_sum; - return STATUS_SUCCESS; + if (unsigned_sum != recorded_sum && signed_sum != recorded_sum) + return HEADER_FAILURE; + + return HEADER_SUCCESS; } /* --------------------------------------------------------------------------------------------- */ @@ -492,7 +378,7 @@ tar_decode_header (union block *header, tar_super_t * arch) else arch->type = TAR_USTAR; } - else if (strcmp (header->header.magic, OLDGNU_MAGIC) == 0) + else if (strcmp (header->buffer + offsetof (struct posix_header, magic), OLDGNU_MAGIC) == 0) arch->type = TAR_GNU; } @@ -614,16 +500,12 @@ tar_fill_stat (struct vfs_s_super *archive, struct stat *st, union block *header } /* --------------------------------------------------------------------------------------------- */ -/** - * Return 1 for success, 0 if the checksum is bad, EOF on eof, - * 2 for a block full of zeros (EOF marker). - * - */ -static ReadStatus + +static read_header tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, size_t * h_size) { tar_super_t *arch = TAR_SUPER (archive); - ReadStatus checksum_status; + read_header checksum_status; union block *header; static char *next_long_name = NULL, *next_long_link = NULL; @@ -631,10 +513,10 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, si { header = tar_get_next_block (archive, tard); if (header == NULL) - return STATUS_EOF; + return HEADER_END_OF_FILE; checksum_status = tar_checksum (header); - if (checksum_status != STATUS_SUCCESS) + if (checksum_status != HEADER_SUCCESS) return checksum_status; *h_size = tar_decode_header (header, arch); @@ -644,7 +526,7 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, si { if (arch->type == TAR_UNKNOWN) arch->type = TAR_POSIX; - return STATUS_SUCCESS; + return HEADER_SUCCESS; } if (header->header.typeflag == GNUTYPE_LONGNAME @@ -661,7 +543,7 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, si if (*h_size > MC_MAXPATHLEN) { message (D_ERROR, MSG_ERROR, _("Inconsistent tar archive")); - return STATUS_BADCHECKSUM; + return HEADER_FAILURE; } longp = header->header.typeflag == GNUTYPE_LONGNAME ? &next_long_name : &next_long_link; @@ -676,7 +558,7 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, si { MC_PTR_FREE (*longp); message (D_ERROR, MSG_ERROR, _("Unexpected EOF on archive file")); - return STATUS_BADCHECKSUM; + return HEADER_FAILURE; } written = BLOCKSIZE; if ((off_t) written > size) @@ -690,7 +572,7 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, si { MC_PTR_FREE (*longp); message (D_ERROR, MSG_ERROR, _("Inconsistent tar archive")); - return STATUS_BADCHECKSUM; + return HEADER_FAILURE; } *bp = '\0'; @@ -779,7 +661,7 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, si if (parent == NULL) { message (D_ERROR, MSG_ERROR, _("Inconsistent tar archive")); - return STATUS_BADCHECKSUM; + return HEADER_FAILURE; } if (header->header.typeflag == LNKTYPE) @@ -829,10 +711,108 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, int tard, si if (inode != NULL) inode->data_offset = current_tar_position; } - return STATUS_SUCCESS; + return HEADER_SUCCESS; } } +/* --------------------------------------------------------------------------------------------- */ + +static struct vfs_s_super * +tar_new_archive (struct vfs_class *me) +{ + tar_super_t *arch; + + arch = g_new0 (tar_super_t, 1); + arch->base.me = me; + arch->fd = -1; + arch->type = TAR_UNKNOWN; + + return VFS_SUPER (arch); +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +tar_free_archive (struct vfs_class *me, struct vfs_s_super *archive) +{ + tar_super_t *arch = TAR_SUPER (archive); + + (void) me; + + if (arch->fd != -1) + { + mc_close (arch->fd); + arch->fd = -1; + } +} + +/* --------------------------------------------------------------------------------------------- */ + +/* Returns fd of the open tar file */ +static int +tar_open_archive_int (struct vfs_class *me, const vfs_path_t * vpath, struct vfs_s_super *archive) +{ + int result, type; + tar_super_t *arch; + mode_t mode; + struct vfs_s_inode *root; + + result = mc_open (vpath, O_RDONLY); + if (result == -1) + { + message (D_ERROR, MSG_ERROR, _("Cannot open tar archive\n%s"), vfs_path_as_str (vpath)); + ERRNOR (ENOENT, -1); + } + + archive->name = g_strdup (vfs_path_as_str (vpath)); + arch = TAR_SUPER (archive); + mc_stat (vpath, &arch->st); + + /* Find out the method to handle this tar file */ + type = get_compression_type (result, archive->name); + if (type == COMPRESSION_NONE) + mc_lseek (result, 0, SEEK_SET); + else + { + char *s; + vfs_path_t *tmp_vpath; + + mc_close (result); + s = g_strconcat (archive->name, decompress_extension (type), (char *) NULL); + tmp_vpath = vfs_path_from_str_flags (s, VPF_NO_CANON); + result = mc_open (tmp_vpath, O_RDONLY); + vfs_path_free (tmp_vpath, TRUE); + if (result == -1) + message (D_ERROR, MSG_ERROR, _("Cannot open tar archive\n%s"), s); + g_free (s); + if (result == -1) + { + MC_PTR_FREE (archive->name); + ERRNOR (ENOENT, -1); + } + } + + arch->fd = result; + mode = arch->st.st_mode & 07777; + if (mode & 0400) + mode |= 0100; + if (mode & 0040) + mode |= 0010; + if (mode & 0004) + mode |= 0001; + mode |= S_IFDIR; + + root = vfs_s_new_inode (me, archive, &arch->st); + root->st.st_mode = mode; + root->data_offset = -1; + root->st.st_nlink++; + root->st.st_dev = VFS_SUBCLASS (me)->rdev++; + + archive->root = root; + + return result; +} + /* --------------------------------------------------------------------------------------------- */ /** * Main loop for reading an archive. @@ -843,7 +823,7 @@ tar_open_archive (struct vfs_s_super *archive, const vfs_path_t * vpath, const vfs_path_element_t * vpath_element) { /* Initial status at start of archive */ - ReadStatus status = STATUS_EOFMARK; + read_header status = HEADER_STILL_UNREAD; int tard; current_tar_position = 0; @@ -855,13 +835,19 @@ tar_open_archive (struct vfs_s_super *archive, const vfs_path_t * vpath, while (TRUE) { size_t h_size = 0; - ReadStatus prev_status = status; + read_header prev_status; + prev_status = status; status = tar_read_header (vpath_element->class, archive, tard, &h_size); switch (status) { - case STATUS_SUCCESS: + case HEADER_STILL_UNREAD: + message (D_ERROR, MSG_ERROR, _("%s\ndoesn't look like a tar archive."), + vfs_path_as_str (vpath)); + return -1; + + case HEADER_SUCCESS: tar_skip_n_records (archive, tard, (h_size + BLOCKSIZE - 1) / BLOCKSIZE); continue; @@ -871,11 +857,11 @@ tar_open_archive (struct vfs_s_super *archive, const vfs_path_t * vpath, * If the previous header was good, tell them * that we are skipping bad ones. */ - case STATUS_BADCHECKSUM: + case HEADER_FAILURE: switch (prev_status) { /* Error on first block */ - case STATUS_EOFMARK: + case HEADER_ZERO_BLOCK: { message (D_ERROR, MSG_ERROR, _("%s\ndoesn't look like a tar archive."), vfs_path_as_str (vpath)); @@ -883,13 +869,13 @@ tar_open_archive (struct vfs_s_super *archive, const vfs_path_t * vpath, /* Error after header rec */ } - case STATUS_SUCCESS: + case HEADER_SUCCESS: /* Error after error */ - case STATUS_BADCHECKSUM: + case HEADER_FAILURE: return -1; - case STATUS_EOF: + case HEADER_END_OF_FILE: return 0; default: @@ -898,10 +884,10 @@ tar_open_archive (struct vfs_s_super *archive, const vfs_path_t * vpath, MC_FALLTHROUGH; /* Record of zeroes */ - case STATUS_EOFMARK: /* If error after 0's */ + case HEADER_ZERO_BLOCK: /* If error after 0's */ MC_FALLTHROUGH; /* exit from loop */ - case STATUS_EOF: /* End of archive */ + case HEADER_END_OF_FILE: /* End of archive */ break; default: break; diff --git a/src/vfs/undelfs/undelfs.c b/src/vfs/undelfs/undelfs.c index 67465ab7e..df3d1fd45 100644 --- a/src/vfs/undelfs/undelfs.c +++ b/src/vfs/undelfs/undelfs.c @@ -111,6 +111,8 @@ typedef struct size_t count; /* bytes to read */ } undelfs_file; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* We only allow one opened ext2fs */ diff --git a/src/viewer/actions_cmd.c b/src/viewer/actions_cmd.c index 31dc348af..750987a04 100644 --- a/src/viewer/actions_cmd.c +++ b/src/viewer/actions_cmd.c @@ -52,7 +52,7 @@ #include "lib/tty/tty.h" #include "lib/tty/key.h" /* is_idle() */ #include "lib/lock.h" /* lock_file() */ -#include "lib/util.h" +#include "lib/file-entry.h" #include "lib/widget.h" #ifdef HAVE_CHARSET #include "lib/charsets.h" @@ -77,6 +77,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/viewer/ascii.c b/src/viewer/ascii.c index 6d06e951a..f786dcc27 100644 --- a/src/viewer/ascii.c +++ b/src/viewer/ascii.c @@ -189,6 +189,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/viewer/coord_cache.c b/src/viewer/coord_cache.c index a27eae7aa..190dbd528 100644 --- a/src/viewer/coord_cache.c +++ b/src/viewer/coord_cache.c @@ -71,6 +71,8 @@ typedef gboolean (*cmp_func_t) (const coord_cache_entry_t * a, const coord_cache_entry_t * b); +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/viewer/datasource.c b/src/viewer/datasource.c index ac2fd96c5..ea4199cbe 100644 --- a/src/viewer/datasource.c +++ b/src/viewer/datasource.c @@ -67,6 +67,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/viewer/display.c b/src/viewer/display.c index c8e4dc35d..e76c4dd35 100644 --- a/src/viewer/display.c +++ b/src/viewer/display.c @@ -60,6 +60,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* If set, show a ruler */ @@ -70,6 +72,7 @@ static enum ruler_type RULER_BOTTOM } ruler = RULER_NONE; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ @@ -83,7 +86,7 @@ mcview_set_buttonbar (WView * view) WButtonBar *b; const global_keymap_t *keymap = view->mode_flags.hex ? view->hex_keymap : w->keymap; - b = find_buttonbar (h); + b = buttonbar_find (h); buttonbar_set_label (b, 1, Q_ ("ButtonBar|Help"), keymap, w); if (view->mode_flags.hex) @@ -204,7 +207,7 @@ mcview_update (WView * view) { view->dpy_bbar_dirty = FALSE; mcview_set_buttonbar (view); - widget_draw (WIDGET (find_buttonbar (DIALOG (WIDGET (view)->owner)))); + widget_draw (WIDGET (buttonbar_find (DIALOG (WIDGET (view)->owner)))); } if (view->dirty > dirt_limit) diff --git a/src/viewer/growbuf.c b/src/viewer/growbuf.c index 9f357e657..e18a52761 100644 --- a/src/viewer/growbuf.c +++ b/src/viewer/growbuf.c @@ -65,7 +65,7 @@ void mcview_growbuf_init (WView * view) { view->growbuf_in_use = TRUE; - view->growbuf_blockptr = g_ptr_array_new (); + view->growbuf_blockptr = g_ptr_array_new_with_free_func (g_free); view->growbuf_lastindex = VIEW_PAGE_SIZE; view->growbuf_finished = FALSE; } @@ -96,10 +96,7 @@ mcview_growbuf_free (WView * view) { g_assert (view->growbuf_in_use); - g_ptr_array_foreach (view->growbuf_blockptr, (GFunc) g_free, NULL); - - (void) g_ptr_array_free (view->growbuf_blockptr, TRUE); - + g_ptr_array_free (view->growbuf_blockptr, TRUE); view->growbuf_blockptr = NULL; view->growbuf_in_use = FALSE; } diff --git a/src/viewer/hex.c b/src/viewer/hex.c index 74cde23ac..c0cf7d0f5 100644 --- a/src/viewer/hex.c +++ b/src/viewer/hex.c @@ -65,13 +65,14 @@ typedef enum MARK_CHANGED } mark_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static const char hex_char[] = "0123456789ABCDEF"; -/*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ - +/*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ /** Determine the state of the current byte. * diff --git a/src/viewer/internal.h b/src/viewer/internal.h index d6075d83f..566b07cfb 100644 --- a/src/viewer/internal.h +++ b/src/viewer/internal.h @@ -11,6 +11,7 @@ #include "lib/search.h" #include "lib/widget.h" #include "lib/vfs/vfs.h" /* vfs_path_t */ +#include "lib/util.h" /* mc_pipe_t */ #include "src/keymap.h" /* global_keymap_t */ #include "src/filemanager/dir.h" /* dir_list */ diff --git a/src/viewer/lib.c b/src/viewer/lib.c index 0d0ba3b21..5f2eb5203 100644 --- a/src/viewer/lib.c +++ b/src/viewer/lib.c @@ -227,7 +227,10 @@ mcview_done (WView * view) /* the growing buffer is freed with the datasource */ if (view->coord_cache != NULL) - view->coord_cache = (GPtrArray *) g_ptr_array_free (view->coord_cache, TRUE); + { + g_ptr_array_free (view->coord_cache, TRUE); + view->coord_cache = NULL; + } if (view->converter == INVALID_CONV) view->converter = str_cnv_from_term; diff --git a/src/viewer/mcviewer.c b/src/viewer/mcviewer.c index 153378e32..2430c0fe8 100644 --- a/src/viewer/mcviewer.c +++ b/src/viewer/mcviewer.c @@ -79,6 +79,8 @@ char *mcview_show_eof = NULL; /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/viewer/move.c b/src/viewer/move.c index 543eae929..4f15b7cfb 100644 --- a/src/viewer/move.c +++ b/src/viewer/move.c @@ -61,6 +61,8 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/viewer/nroff.c b/src/viewer/nroff.c index ec95355ca..f864bae40 100644 --- a/src/viewer/nroff.c +++ b/src/viewer/nroff.c @@ -52,8 +52,11 @@ /*** file scope type declarations ****************************************************************/ +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ diff --git a/src/viewer/search.c b/src/viewer/search.c index acd473987..f470a361b 100644 --- a/src/viewer/search.c +++ b/src/viewer/search.c @@ -69,6 +69,8 @@ typedef struct off_t offset; } mcview_search_status_msg_t; +/*** forward declarations (file scope functions) *************************************************/ + /*** file scope variables ************************************************************************/ static int search_cb_char_curr_index = -1; diff --git a/tests/lib/utilunix__my_system-common.c b/tests/lib/utilunix__my_system-common.c index 0cf677086..e6391076b 100644 --- a/tests/lib/utilunix__my_system-common.c +++ b/tests/lib/utilunix__my_system-common.c @@ -100,23 +100,20 @@ sigaction (int signum, const struct sigaction *act, struct sigaction *oldact) static void sigaction__init (void) { - sigaction_signum__captured = g_ptr_array_new (); - sigaction_act__captured = g_ptr_array_new (); - sigaction_oldact__captured = g_ptr_array_new (); + sigaction_signum__captured = g_ptr_array_new_with_free_func (g_free); + sigaction_act__captured = g_ptr_array_new_with_free_func (g_free); + sigaction_oldact__captured = g_ptr_array_new_with_free_func (g_free); } static void sigaction__deinit (void) { - g_ptr_array_foreach (sigaction_signum__captured, (GFunc) g_free, NULL); g_ptr_array_free (sigaction_signum__captured, TRUE); sigaction_signum__captured = NULL; - g_ptr_array_foreach (sigaction_act__captured, (GFunc) g_free, NULL); g_ptr_array_free (sigaction_act__captured, TRUE); sigaction_act__captured = NULL; - g_ptr_array_foreach (sigaction_oldact__captured, (GFunc) g_free, NULL); g_ptr_array_free (sigaction_oldact__captured, TRUE); sigaction_oldact__captured = NULL; } @@ -158,18 +155,16 @@ signal (int signum, sighandler_t handler) static void signal__init (void) { - signal_signum__captured = g_ptr_array_new (); - signal_handler__captured = g_ptr_array_new (); + signal_signum__captured = g_ptr_array_new_with_free_func (g_free); + signal_handler__captured = g_ptr_array_new_with_free_func (g_free); } static void signal__deinit (void) { - g_ptr_array_foreach (signal_signum__captured, (GFunc) g_free, NULL); g_ptr_array_free (signal_signum__captured, TRUE); signal_signum__captured = NULL; - g_ptr_array_foreach (signal_handler__captured, (GFunc) g_free, NULL); g_ptr_array_free (signal_handler__captured, TRUE); signal_handler__captured = NULL; } @@ -222,13 +217,12 @@ execvp (const char *file, char *const argv[]) static void execvp__init (void) { - execvp__args__captured = g_ptr_array_new (); + execvp__args__captured = g_ptr_array_new_with_free_func (g_free); } static void execvp__deinit (void) { - g_ptr_array_foreach (execvp__args__captured, (GFunc) g_free, NULL); g_ptr_array_free (execvp__args__captured, TRUE); execvp__args__captured = NULL; MC_PTR_FREE (execvp__file__captured); diff --git a/tests/src/editor/edit_complete_word_cmd.c b/tests/src/editor/edit_complete_word_cmd.c index f32c7e99e..77bb4d0bb 100644 --- a/tests/src/editor/edit_complete_word_cmd.c +++ b/tests/src/editor/edit_complete_word_cmd.c @@ -168,7 +168,7 @@ my_setup (void) mc_config_set_bool (mc_global.main_config, CONFIG_APP_SECTION, "editor_wordcompletion_collect_all_files", TRUE); - option_filesize_threshold = (char *) "64M"; + edit_options.filesize_threshold = (char *) "64M"; rect_init (&r, 0, 0, 24, 80); test_edit = edit_init (NULL, &r, vfs_path_from_str ("test-data.txt"), 1); diff --git a/tests/src/execute__common.c b/tests/src/execute__common.c index 56418225a..82fb60b03 100644 --- a/tests/src/execute__common.c +++ b/tests/src/execute__common.c @@ -48,22 +48,21 @@ vfs_file_is_local (const vfs_path_t * vpath) } static void -vfs_file_is_local__init (void) +vpath_captured_free (gpointer data) { - vfs_file_is_local__vpath__captured = g_ptr_array_new (); + vfs_path_free ((vfs_path_t *) data, TRUE); } static void -vpath_captured_free (gpointer data, gpointer user_data) +vfs_file_is_local__init (void) { - (void) user_data; - vfs_path_free ((vfs_path_t *) data, TRUE); + vfs_file_is_local__vpath__captured = + g_ptr_array_new_with_free_func (vpath_captured_free); } static void vfs_file_is_local__deinit (void) { - g_ptr_array_foreach (vfs_file_is_local__vpath__captured, vpath_captured_free, NULL); g_ptr_array_free (vfs_file_is_local__vpath__captured, TRUE); } @@ -193,13 +192,12 @@ mc_stat (const vfs_path_t * vpath, struct stat *stat_ignored) static void mc_stat__init (void) { - mc_stat__vpath__captured = g_ptr_array_new (); + mc_stat__vpath__captured = g_ptr_array_new_with_free_func (vpath_captured_free); } static void mc_stat__deinit (void) { - g_ptr_array_foreach (mc_stat__vpath__captured, vpath_captured_free, NULL); g_ptr_array_free (mc_stat__vpath__captured, TRUE); mc_stat__vpath__captured = NULL; } diff --git a/tests/src/execute__execute_external_editor_or_viewer.c b/tests/src/execute__execute_external_editor_or_viewer.c index 27a03333a..e6594772b 100644 --- a/tests/src/execute__execute_external_editor_or_viewer.c +++ b/tests/src/execute__execute_external_editor_or_viewer.c @@ -97,7 +97,7 @@ static void do_executev__init (void) { do_executev__lc_shell__captured = NULL; - do_executev__argv__captured = g_ptr_array_new (); + do_executev__argv__captured = g_ptr_array_new_with_free_func (g_free); do_executev__flags__captured = 0; } @@ -105,7 +105,6 @@ static void do_executev__deinit (void) { g_free (do_executev__lc_shell__captured); - g_ptr_array_foreach (do_executev__argv__captured, (GFunc) g_free, NULL); g_ptr_array_free (do_executev__argv__captured, TRUE); } diff --git a/tests/src/execute__execute_get_external_cmd_opts_from_config.c b/tests/src/execute__execute_get_external_cmd_opts_from_config.c index 28fc649d5..bf7f77ddd 100644 --- a/tests/src/execute__execute_get_external_cmd_opts_from_config.c +++ b/tests/src/execute__execute_get_external_cmd_opts_from_config.c @@ -67,9 +67,9 @@ mc_config_get_string_raw (mc_config_t * config_ignored, const gchar * group, static void mc_config_get_string__init (void) { - mc_config_get_string__group__captured = g_ptr_array_new (); - mc_config_get_string__param__captured = g_ptr_array_new (); - mc_config_get_string__default_value__captured = g_ptr_array_new (); + mc_config_get_string__group__captured = g_ptr_array_new_with_free_func (g_free); + mc_config_get_string__param__captured = g_ptr_array_new_with_free_func (g_free); + mc_config_get_string__default_value__captured = g_ptr_array_new_with_free_func (g_free); mc_config_get_string__return_value = g_ptr_array_new (); } @@ -77,13 +77,8 @@ mc_config_get_string__init (void) static void mc_config_get_string__deinit (void) { - g_ptr_array_foreach (mc_config_get_string__group__captured, (GFunc) g_free, NULL); g_ptr_array_free (mc_config_get_string__group__captured, TRUE); - - g_ptr_array_foreach (mc_config_get_string__param__captured, (GFunc) g_free, NULL); g_ptr_array_free (mc_config_get_string__param__captured, TRUE); - - g_ptr_array_foreach (mc_config_get_string__default_value__captured, (GFunc) g_free, NULL); g_ptr_array_free (mc_config_get_string__default_value__captured, TRUE); g_ptr_array_foreach (mc_config_get_string__return_value, (GFunc) g_free, NULL); diff --git a/tests/src/filemanager/exec_get_export_variables_ext.c b/tests/src/filemanager/exec_get_export_variables_ext.c index 54d60f2ac..38ac858e1 100644 --- a/tests/src/filemanager/exec_get_export_variables_ext.c +++ b/tests/src/filemanager/exec_get_export_variables_ext.c @@ -27,6 +27,8 @@ #include "tests/mctest.h" +#include "lib/file-entry.h" + #include "src/vfs/local/local.c" #include "src/filemanager/filemanager.c" diff --git a/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c b/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c index acfe94702..7c6ef18e6 100644 --- a/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c +++ b/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c @@ -57,6 +57,12 @@ typedef enum FORMAT_LS } output_format_t; +/*** forward declarations (file scope functions) *************************************************/ + +static gboolean +parse_format_name_argument (const gchar * option_name, const gchar * value, gpointer data, + GError ** error); + /*** file scope variables ************************************************************************/ /* Command-line options. */ @@ -68,11 +74,6 @@ static output_format_t opt_output_format = FORMAT_LS; /* Misc. */ static int error_count = 0; -/* forward declarations */ -static gboolean -parse_format_name_argument (const gchar * option_name, const gchar * value, gpointer data, - GError ** error); - static GOptionEntry entries[] = { {"drop-mtime", 0, 0, G_OPTION_ARG_NONE, &opt_drop_mtime, "Don't include mtime in the output.", NULL}, @@ -86,6 +87,7 @@ static GOptionEntry entries[] = { G_OPTION_ENTRY_NULL }; +/* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ /**