Merge branch '3420_cleanup'
* 3420_cleanup: (panel_listing_box): fix comparison between signed and unsigned. Ticket #3467: add -Wunreachable-code option and fix relative warnings. Ticket #3466: add -Wpointer-arith option and fix relative warnings. Ticket #3465: add -Wmissing-variable-declarations option... Ticket #3464: (compute_namelen): remove... Ticket #3463: enable -Wbad-function-cast option and fix relative warnings. (mc_setup_by_args): refactoring of arguments handling. AUTHORS: add Andreas Mohr. Ticket #3462: (WHLine): fix memory leak. Ticket #3461: (panel_operate): fix memory leak. Ticket #3460: (do_enter_on_file_entry): fix memory leak. Ticket #3459: (edit_clean): fix memory leak. Ticket #3458: (dir_list_reload): fix memory leak. Ticket #3420: code cleanup before 4.8.15 release.
Этот коммит содержится в:
Коммит
8e19fabb09
4
AUTHORS
4
AUTHORS
@ -49,6 +49,10 @@ Alexander Dong <ado@software-ag.de>
|
||||
Alex I. Tkachenko <alex@bcs.zp.ua>
|
||||
SCO UNIX support.
|
||||
|
||||
Andreas Mohr <band@gmx.li>
|
||||
Find a lot of memory leaks.
|
||||
A lot of code cleanups.
|
||||
|
||||
Andrzej Zaborowski <balroog@gmail.com>
|
||||
Polish translation.
|
||||
|
||||
|
12
lib/fs.h
12
lib/fs.h
@ -100,7 +100,6 @@
|
||||
|
||||
/* unistd.h defines _POSIX_VERSION on POSIX.1 systems. */
|
||||
#define NLENGTH(dirent) (strlen ((dirent)->d_name))
|
||||
#define DIRENT_LENGTH_COMPUTED 1
|
||||
|
||||
/* DragonFlyBSD doesn't provide MAXNAMLEN macro */
|
||||
#ifndef MAXNAMLEN
|
||||
@ -122,15 +121,4 @@
|
||||
|
||||
/*** inline functions ****************************************************************************/
|
||||
|
||||
static inline void
|
||||
compute_namelen (struct dirent *dent __attribute__ ((unused)))
|
||||
{
|
||||
#ifdef DIRENT_LENGTH_COMPUTED
|
||||
(void) dent;
|
||||
return;
|
||||
#else
|
||||
dent->d_namlen = strlen (dent);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -54,7 +54,7 @@ typedef struct mc_tty_color_table_struct
|
||||
|
||||
/*** file scope variables ************************************************************************/
|
||||
|
||||
mc_tty_color_table_t const color_table[] = {
|
||||
static mc_tty_color_table_t const color_table[] = {
|
||||
{"black", COLOR_BLACK},
|
||||
{"gray", COLOR_BLACK + COLOR_INTENSITY},
|
||||
{"red", COLOR_RED},
|
||||
@ -81,7 +81,7 @@ mc_tty_color_table_t const color_table[] = {
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
mc_tty_color_table_t const attributes_table[] = {
|
||||
static mc_tty_color_table_t const attributes_table[] = {
|
||||
{"bold", A_BOLD},
|
||||
#ifdef A_ITALIC /* available since ncurses-5.9-20130831 / slang-pre2.3.0-107 */
|
||||
{"italic", A_ITALIC},
|
||||
|
@ -215,8 +215,8 @@ my_system_make_arg_array (int flags, const char *shell, char **execute_name)
|
||||
|
||||
if ((flags & EXECUTE_AS_SHELL) != 0)
|
||||
{
|
||||
g_ptr_array_add (args_array, g_strdup (shell));
|
||||
g_ptr_array_add (args_array, g_strdup ("-c"));
|
||||
g_ptr_array_add (args_array, (gpointer) shell);
|
||||
g_ptr_array_add (args_array, (gpointer) "-c");
|
||||
*execute_name = g_strdup (shell);
|
||||
}
|
||||
else
|
||||
@ -229,7 +229,7 @@ my_system_make_arg_array (int flags, const char *shell, char **execute_name)
|
||||
else
|
||||
*execute_name = g_strndup (shell, (gsize) (shell_token - shell));
|
||||
|
||||
g_ptr_array_add (args_array, g_strdup (shell));
|
||||
g_ptr_array_add (args_array, (gpointer) shell);
|
||||
}
|
||||
return args_array;
|
||||
}
|
||||
|
@ -448,7 +448,6 @@ vfs_s_readdir (void *data)
|
||||
else
|
||||
vfs_die ("Null in structure-cannot happen");
|
||||
|
||||
compute_namelen (&dir.dent);
|
||||
info->cur = g_list_next (info->cur);
|
||||
|
||||
return (void *) &dir;
|
||||
|
@ -59,8 +59,10 @@
|
||||
#include "gc.h"
|
||||
#include "xdirentry.h"
|
||||
|
||||
/* TODO: move it to separate private .h */
|
||||
extern GString *vfs_str_buffer;
|
||||
extern struct vfs_class *current_vfs;
|
||||
extern struct dirent *mc_readdir_result;
|
||||
|
||||
/*** global variables ****************************************************************************/
|
||||
|
||||
|
@ -59,15 +59,18 @@
|
||||
#include "utilvfs.h"
|
||||
#include "gc.h"
|
||||
|
||||
/* TODO: move it to the separate .h */
|
||||
extern struct dirent *mc_readdir_result;
|
||||
extern GPtrArray *vfs__classes_list;
|
||||
extern GString *vfs_str_buffer;
|
||||
extern struct vfs_class *current_vfs;
|
||||
|
||||
/*** global variables ****************************************************************************/
|
||||
|
||||
GPtrArray *vfs__classes_list = NULL;
|
||||
|
||||
GString *vfs_str_buffer = NULL;
|
||||
struct vfs_class *current_vfs = NULL;
|
||||
|
||||
|
||||
/*** file scope macro definitions ****************************************************************/
|
||||
|
||||
#if defined(_AIX) && !defined(NAME_MAX)
|
||||
|
@ -110,6 +110,10 @@ hline_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *d
|
||||
}
|
||||
return MSG_HANDLED;
|
||||
|
||||
case MSG_DESTROY:
|
||||
g_free (l->text);
|
||||
return MSG_HANDLED;
|
||||
|
||||
default:
|
||||
return widget_default_callback (w, sender, msg, parm, data);
|
||||
}
|
||||
|
@ -1030,7 +1030,6 @@ query_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *d
|
||||
input_handle_char (input, parm);
|
||||
h->ret_value = B_USER;
|
||||
dlg_stop (h);
|
||||
return MSG_HANDLED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1070,7 +1069,6 @@ query_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *d
|
||||
/* This means we want to refill the list box and start again */
|
||||
h->ret_value = B_USER;
|
||||
dlg_stop (h);
|
||||
return MSG_HANDLED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1165,9 +1163,8 @@ query_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *d
|
||||
}
|
||||
bl = 0;
|
||||
}
|
||||
return MSG_HANDLED;
|
||||
}
|
||||
break;
|
||||
return MSG_HANDLED;
|
||||
|
||||
default:
|
||||
return dlg_default_callback (w, sender, msg, parm, data);
|
||||
|
@ -52,7 +52,7 @@ dnl MC_CHECK_ONE_CFLAG([-fno-stack-protector])
|
||||
esac
|
||||
|
||||
dnl Sorted -W options:
|
||||
dnl MC_CHECK_ONE_CFLAG([-Wbad-function-cast])
|
||||
MC_CHECK_ONE_CFLAG([-Wbad-function-cast])
|
||||
MC_CHECK_ONE_CFLAG([-Wcomment])
|
||||
MC_CHECK_ONE_CFLAG([-Wdeclaration-after-statement])
|
||||
MC_CHECK_ONE_CFLAG([-Wfloat-equal])
|
||||
@ -66,10 +66,12 @@ dnl MC_CHECK_ONE_CFLAG([-Wbad-function-cast])
|
||||
MC_CHECK_ONE_CFLAG([-Wmissing-field-initializers])
|
||||
MC_CHECK_ONE_CFLAG([-Wmissing-parameter-type])
|
||||
MC_CHECK_ONE_CFLAG([-Wmissing-prototypes])
|
||||
MC_CHECK_ONE_CFLAG([-Wmissing-variable-declarations])
|
||||
MC_CHECK_ONE_CFLAG([-Wnested-externs])
|
||||
MC_CHECK_ONE_CFLAG([-Wno-long-long])
|
||||
MC_CHECK_ONE_CFLAG([-Wno-unreachable-code])
|
||||
MC_CHECK_ONE_CFLAG([-Wparentheses])
|
||||
MC_CHECK_ONE_CFLAG([-Wpointer-arith])
|
||||
MC_CHECK_ONE_CFLAG([-Wpointer-sign])
|
||||
MC_CHECK_ONE_CFLAG([-Wredundant-decls])
|
||||
MC_CHECK_ONE_CFLAG([-Wreturn-type])
|
||||
@ -83,6 +85,7 @@ dnl MC_CHECK_ONE_CFLAG([-Wstrict-aliasing])
|
||||
MC_CHECK_ONE_CFLAG([-Wtype-limits])
|
||||
MC_CHECK_ONE_CFLAG([-Wundef])
|
||||
MC_CHECK_ONE_CFLAG([-Wuninitialized])
|
||||
MC_CHECK_ONE_CFLAG([-Wunreachable-code])
|
||||
MC_CHECK_ONE_CFLAG([-Wunused-but-set-variable])
|
||||
MC_CHECK_ONE_CFLAG([-Wunused-function])
|
||||
MC_CHECK_ONE_CFLAG([-Wunused-label])
|
||||
|
95
src/args.c
95
src/args.c
@ -46,9 +46,6 @@
|
||||
|
||||
/*** global variables ****************************************************************************/
|
||||
|
||||
/* If true, show version info and exit */
|
||||
gboolean mc_args__show_version = FALSE;
|
||||
|
||||
/* If true, assume we are running on an xterm terminal */
|
||||
gboolean mc_args__force_xterm = FALSE;
|
||||
|
||||
@ -80,6 +77,9 @@ char *mc_run_param1 = NULL;
|
||||
|
||||
/*** file scope variables ************************************************************************/
|
||||
|
||||
/* 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);
|
||||
@ -172,15 +172,16 @@ static const GOptionEntry argument_main_table[] = {
|
||||
},
|
||||
#endif /* ENABLE_VFS_SMB */
|
||||
|
||||
/* single file operations */
|
||||
{
|
||||
"view", 'v', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK,
|
||||
/* handle arguments manually */
|
||||
"view", 'v', G_OPTION_FLAG_IN_MAIN | G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
|
||||
parse_mc_v_argument,
|
||||
N_("Launches the file viewer on a file"),
|
||||
"<file>"
|
||||
},
|
||||
|
||||
{
|
||||
/* handle arguments manually */
|
||||
"edit", 'e', G_OPTION_FLAG_IN_MAIN | G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
|
||||
parse_mc_e_argument,
|
||||
N_("Edit files"),
|
||||
@ -192,7 +193,7 @@ static const GOptionEntry argument_main_table[] = {
|
||||
/* *INDENT-ON* */
|
||||
};
|
||||
|
||||
GOptionGroup *terminal_group;
|
||||
static GOptionGroup *terminal_group;
|
||||
#define ARGS_TERM_OPTIONS 0
|
||||
static const GOptionEntry argument_terminal_table[] = {
|
||||
/* *INDENT-OFF* */
|
||||
@ -279,7 +280,7 @@ static const GOptionEntry argument_terminal_table[] = {
|
||||
|
||||
#undef ARGS_TERM_OPTIONS
|
||||
|
||||
GOptionGroup *color_group;
|
||||
static GOptionGroup *color_group;
|
||||
#define ARGS_COLOR_OPTIONS 0
|
||||
/* #define ARGS_COLOR_OPTIONS G_OPTION_FLAG_IN_MAIN */
|
||||
static const GOptionEntry argument_color_table[] = {
|
||||
@ -461,7 +462,6 @@ parse_mc_v_argument (const gchar * option_name, const gchar * value, gpointer da
|
||||
mc_return_val_if_error (mcerror, FALSE);
|
||||
|
||||
mc_global.mc_run_mode = MC_RUN_VIEWER;
|
||||
mc_run_param0 = g_strdup (value);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@ -616,7 +616,6 @@ mc_args_parse (int *argc, char ***argv, const char *translation_domain, GError *
|
||||
|
||||
if (!g_option_context_parse (context, argc, argv, mcerror))
|
||||
{
|
||||
|
||||
if (*mcerror == NULL)
|
||||
mc_propagate_error (mcerror, 0, "%s\n", _("Arguments parse error!"));
|
||||
else
|
||||
@ -732,76 +731,60 @@ mc_setup_by_args (int argc, char **argv, GError ** mcerror)
|
||||
if (strncmp (base, "mce", 3) == 0 || strcmp (base, "vi") == 0)
|
||||
{
|
||||
/* mce* or vi is link to mc */
|
||||
|
||||
mc_run_param0 = parse_mcedit_arguments (argc - 1, &argv[1]);
|
||||
mc_global.mc_run_mode = MC_RUN_EDITOR;
|
||||
}
|
||||
else if (strncmp (base, "mcv", 3) == 0 || strcmp (base, "view") == 0)
|
||||
{
|
||||
/* mcv* or view is link to mc */
|
||||
|
||||
if (tmp != NULL)
|
||||
mc_run_param0 = g_strdup (tmp);
|
||||
else
|
||||
{
|
||||
mc_propagate_error (mcerror, 0, "%s\n", _("No arguments given to the viewer."));
|
||||
return FALSE;
|
||||
}
|
||||
mc_global.mc_run_mode = MC_RUN_VIEWER;
|
||||
}
|
||||
#ifdef USE_DIFF_VIEW
|
||||
else if (strncmp (base, "mcd", 3) == 0 || strcmp (base, "diff") == 0)
|
||||
{
|
||||
/* mcd* or diff is link to mc */
|
||||
mc_global.mc_run_mode = MC_RUN_DIFFVIEWER;
|
||||
}
|
||||
#endif /* USE_DIFF_VIEW */
|
||||
|
||||
if (argc < 3)
|
||||
switch (mc_global.mc_run_mode)
|
||||
{
|
||||
case MC_RUN_EDITOR:
|
||||
mc_run_param0 = parse_mcedit_arguments (argc - 1, &argv[1]);
|
||||
break;
|
||||
|
||||
case MC_RUN_VIEWER:
|
||||
if (tmp == NULL)
|
||||
{
|
||||
mc_propagate_error (mcerror, 0, "%s\n",
|
||||
_("Two files are required to evoke the diffviewer."));
|
||||
mc_propagate_error (mcerror, 0, "%s\n", _("No arguments given to the viewer."));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
mc_run_param0 = g_strdup (tmp);
|
||||
break;
|
||||
|
||||
#ifdef USE_DIFF_VIEW
|
||||
case MC_RUN_DIFFVIEWER:
|
||||
if (argc < 3)
|
||||
{
|
||||
mc_propagate_error (mcerror, 0, "%s\n",
|
||||
_("Two files are required to envoke the diffviewer."));
|
||||
return FALSE;
|
||||
}
|
||||
/* fallthrough */
|
||||
#endif /* USE_DIFF_VIEW */
|
||||
|
||||
case MC_RUN_FULL:
|
||||
default:
|
||||
/* set the current dir and the other dir for filemanager,
|
||||
or two files for diff viewer */
|
||||
if (tmp != NULL)
|
||||
{
|
||||
mc_run_param0 = g_strdup (tmp);
|
||||
tmp = (argc > 1) ? argv[2] : NULL;
|
||||
if (tmp != NULL)
|
||||
mc_run_param1 = g_strdup (tmp);
|
||||
mc_global.mc_run_mode = MC_RUN_DIFFVIEWER;
|
||||
}
|
||||
}
|
||||
#endif /* USE_DIFF_VIEW */
|
||||
else
|
||||
{
|
||||
/* MC is run as mc */
|
||||
|
||||
switch (mc_global.mc_run_mode)
|
||||
{
|
||||
case MC_RUN_EDITOR:
|
||||
mc_run_param0 = parse_mcedit_arguments (argc - 1, &argv[1]);
|
||||
break;
|
||||
|
||||
case MC_RUN_VIEWER:
|
||||
/* mc_run_param0 is set up in parse_mc_v_argument() */
|
||||
break;
|
||||
|
||||
case MC_RUN_DIFFVIEWER:
|
||||
/* not implemented yet */
|
||||
break;
|
||||
|
||||
case MC_RUN_FULL:
|
||||
default:
|
||||
/* sets the current dir and the other dir */
|
||||
if (tmp != NULL)
|
||||
{
|
||||
mc_run_param0 = g_strdup (tmp);
|
||||
tmp = (argc > 1) ? argv[2] : NULL;
|
||||
if (tmp != NULL)
|
||||
mc_run_param1 = g_strdup (tmp);
|
||||
}
|
||||
mc_global.mc_run_mode = MC_RUN_FULL;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
@ -208,7 +208,6 @@ main (int argc, char **argv)
|
||||
break;
|
||||
default:
|
||||
die ();
|
||||
break;
|
||||
}
|
||||
|
||||
snprintf (console_name, sizeof (console_name), p, console_minor);
|
||||
|
@ -2195,6 +2195,7 @@ edit_clean (WEdit * edit)
|
||||
vfs_path_free (edit->dir_vpath);
|
||||
mc_search_free (edit->search);
|
||||
edit->search = NULL;
|
||||
MC_PTR_FREE (edit->last_search_string);
|
||||
|
||||
#ifdef HAVE_CHARSET
|
||||
if (edit->converter != str_cnv_from_term)
|
||||
|
@ -63,7 +63,7 @@ static int (*mc_aspell_config_replace) (struct AspellConfig * ths, const char *k
|
||||
static struct AspellCanHaveError *(*mc_new_aspell_speller) (struct AspellConfig * config);
|
||||
static unsigned int (*mc_aspell_error_number) (const struct AspellCanHaveError * ths);
|
||||
static const char *(*mc_aspell_speller_error_message) (const struct AspellSpeller * ths);
|
||||
const struct AspellError *(*mc_aspell_speller_error) (const struct AspellSpeller * ths);
|
||||
static const struct AspellError *(*mc_aspell_speller_error) (const struct AspellSpeller * ths);
|
||||
|
||||
static struct AspellSpeller *(*mc_to_aspell_speller) (struct AspellCanHaveError * obj);
|
||||
static int (*mc_aspell_speller_check) (struct AspellSpeller * ths, const char *word, int word_size);
|
||||
|
@ -93,7 +93,7 @@
|
||||
|
||||
/*** file scope variables ************************************************************************/
|
||||
|
||||
unsigned long configure_old_esc_mode_id, configure_time_out_id;
|
||||
static unsigned long configure_old_esc_mode_id, configure_time_out_id;
|
||||
|
||||
/* Index in list_types[] for "brief" */
|
||||
static const int panel_listing_brief_idx = 1;
|
||||
@ -113,8 +113,8 @@ static int new_display_codepage;
|
||||
static unsigned long ftpfs_always_use_proxy_id, ftpfs_proxy_host_id;
|
||||
#endif /* ENABLE_VFS && ENABLE_VFS_FTP */
|
||||
|
||||
GPtrArray *skin_names;
|
||||
gchar *current_skin_name;
|
||||
static GPtrArray *skin_names;
|
||||
static gchar *current_skin_name;
|
||||
|
||||
#ifdef ENABLE_BACKGROUND
|
||||
static WListbox *bg_list = NULL;
|
||||
@ -819,10 +819,10 @@ panel_listing_box (WPanel * panel, int num, char **userp, char **minip, int *use
|
||||
|
||||
g_snprintf (panel_brief_cols_in, sizeof (panel_brief_cols_in), "%d", panel->brief_cols);
|
||||
|
||||
if (panel->list_type != panel_listing_brief_idx)
|
||||
if ((int) panel->list_type != panel_listing_brief_idx)
|
||||
quick_widgets[4].options = W_DISABLED;
|
||||
|
||||
if (panel->list_type != panel_listing_user_idx)
|
||||
if ((int) panel->list_type != panel_listing_user_idx)
|
||||
quick_widgets[6].options = W_DISABLED;
|
||||
|
||||
if (!mini_user_status)
|
||||
|
@ -721,7 +721,7 @@ dir_list_reload (dir_list * list, const vfs_path_t * vpath, GCompareFunc sort,
|
||||
dfentry = &dir_copy.list[i];
|
||||
|
||||
dfentry->fnamelen = fentry->fnamelen;
|
||||
dfentry->fname = fentry->fname;
|
||||
dfentry->fname = g_strndup (fentry->fname, fentry->fnamelen);
|
||||
dfentry->f.marked = fentry->f.marked;
|
||||
dfentry->f.dir_size_computed = fentry->f.dir_size_computed;
|
||||
dfentry->f.link_to_dir = fentry->f.link_to_dir;
|
||||
@ -748,6 +748,7 @@ dir_list_reload (dir_list * list, const vfs_path_t * vpath, GCompareFunc sort,
|
||||
}
|
||||
else
|
||||
{
|
||||
dir_list_clean (list);
|
||||
if (!dir_list_init (list))
|
||||
{
|
||||
dir_list_clean (&dir_copy);
|
||||
|
@ -581,7 +581,7 @@ do_compute_dir_size (const vfs_path_t * dirname_vpath, dirsize_status_msg_t * ds
|
||||
dsm->dirname_vpath = tmp_vpath;
|
||||
dsm->dir_count = *dir_count;
|
||||
dsm->total_size = *ret_total;
|
||||
ret = (FileProgressStatus) sm->update (sm);
|
||||
ret = sm->update (sm);
|
||||
}
|
||||
}
|
||||
|
||||
@ -714,8 +714,8 @@ real_query_recursive (file_op_context_t * ctx, enum OperationMode mode, const ch
|
||||
query_set_sel (1);
|
||||
|
||||
ctx->recursive_result =
|
||||
(FileCopyMode) query_dialog (op_names[OP_DELETE], text, D_ERROR, 5,
|
||||
_("&Yes"), _("&No"), _("A&ll"), _("Non&e"), _("&Abort"));
|
||||
query_dialog (op_names[OP_DELETE], text, D_ERROR, 5, _("&Yes"), _("&No"), _("A&ll"),
|
||||
_("Non&e"), _("&Abort"));
|
||||
g_free (text);
|
||||
|
||||
if (ctx->recursive_result != RECURSIVE_ABORT)
|
||||
@ -3014,6 +3014,7 @@ panel_operate (void *source_panel, FileOperation operation, gboolean force_singl
|
||||
abort ();
|
||||
}
|
||||
|
||||
g_free (source_with_path_str);
|
||||
g_free (temp);
|
||||
}
|
||||
} /* Copy or move operation */
|
||||
|
@ -243,7 +243,7 @@ typedef struct
|
||||
|
||||
/*** file scope variables ************************************************************************/
|
||||
|
||||
struct
|
||||
static struct
|
||||
{
|
||||
Widget *w;
|
||||
FileProgressStatus action;
|
||||
|
@ -192,7 +192,7 @@ static struct
|
||||
/* *INDENT-ON* */
|
||||
|
||||
static const size_t fbuts_num = G_N_ELEMENTS (fbuts);
|
||||
const size_t quit_button = 4; /* index of "Quit" button */
|
||||
static const size_t quit_button = 4; /* index of "Quit" button */
|
||||
|
||||
static WListbox *find_list; /* Listbox with the file list */
|
||||
|
||||
|
@ -856,8 +856,9 @@ hotlist_done (void)
|
||||
{
|
||||
dlg_destroy (hotlist_dlg);
|
||||
l_hotlist = NULL;
|
||||
if (FALSE)
|
||||
update_panels (UP_OPTIMIZE, UP_KEEPSEL);
|
||||
#if 0
|
||||
update_panels (UP_OPTIMIZE, UP_KEEPSEL);
|
||||
#endif
|
||||
repaint_screen ();
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,8 @@ extern gboolean xterm_title;
|
||||
extern int free_space;
|
||||
extern int nice_rotating_dash;
|
||||
|
||||
extern int ok_to_refresh;
|
||||
|
||||
extern panels_layout_t panels_layout;
|
||||
|
||||
/*** declarations of public functions ************************************************************/
|
||||
|
@ -88,9 +88,6 @@
|
||||
|
||||
#include "midnight.h"
|
||||
|
||||
/* TODO: merge content of layout.c here */
|
||||
extern int ok_to_refresh;
|
||||
|
||||
/*** global variables ****************************************************************************/
|
||||
|
||||
/* When the modes are active, left_panel, right_panel and tree_panel */
|
||||
|
@ -310,8 +310,6 @@ panel_field_t panel_fields[] = {
|
||||
|
||||
mc_fhl_t *mc_filehighlight = NULL;
|
||||
|
||||
extern int saving_setup;
|
||||
|
||||
/*** file scope macro definitions ****************************************************************/
|
||||
|
||||
#define NORMAL 0
|
||||
@ -1546,7 +1544,7 @@ panel_get_title_without_hotkey (const char *title)
|
||||
|
||||
hkey = strchr (translated_title, '&');
|
||||
if (hkey != NULL && hkey[1] != '\0')
|
||||
memmove ((void *) hkey, (void *) hkey + 1, strlen (hkey));
|
||||
memmove (hkey, hkey + 1, strlen (hkey));
|
||||
}
|
||||
|
||||
return translated_title;
|
||||
@ -2776,11 +2774,10 @@ do_enter_on_file_entry (file_entry_t * fe)
|
||||
full_name_vpath = vfs_path_append_new (current_panel->cwd_vpath, fe->fname, NULL);
|
||||
|
||||
/* Try associated command */
|
||||
if (regex_command (full_name_vpath, "Open") != 0)
|
||||
{
|
||||
vfs_path_free (full_name_vpath);
|
||||
ok = regex_command (full_name_vpath, "Open") != 0;
|
||||
vfs_path_free (full_name_vpath);
|
||||
if (ok)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Check if the file is executable */
|
||||
full_name_vpath = vfs_path_append_new (current_panel->cwd_vpath, fe->fname, NULL);
|
||||
|
@ -134,6 +134,8 @@ extern struct macro_action_t record_macro_buf[MAX_MACRO_LENGTH];
|
||||
|
||||
extern GArray *macros_list;
|
||||
|
||||
extern int saving_setup;
|
||||
|
||||
/*** declarations of public functions ************************************************************/
|
||||
|
||||
const char *setup_init (void);
|
||||
|
@ -66,8 +66,6 @@
|
||||
|
||||
/*** global variables ****************************************************************************/
|
||||
|
||||
GArray *extfs_plugins = NULL;
|
||||
|
||||
/*** file scope macro definitions ****************************************************************/
|
||||
|
||||
#undef ERRNOR
|
||||
@ -135,6 +133,8 @@ typedef struct
|
||||
|
||||
/*** file scope variables ************************************************************************/
|
||||
|
||||
static GArray *extfs_plugins = NULL;
|
||||
|
||||
static gboolean errloop;
|
||||
static gboolean notadir;
|
||||
|
||||
@ -1061,7 +1061,6 @@ extfs_readdir (void *data)
|
||||
|
||||
g_strlcpy (dir.dent.d_name, (*info)->name, MC_MAXPATHLEN);
|
||||
|
||||
compute_namelen (&dir.dent);
|
||||
*info = (*info)->next_in_dir;
|
||||
|
||||
return (void *) &dir;
|
||||
|
@ -71,7 +71,7 @@ enum config_var_type
|
||||
/*** file scope variables ************************************************************************/
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
struct
|
||||
static struct
|
||||
{
|
||||
const char *pattern;
|
||||
mc_search_t *pattern_regexp;
|
||||
@ -131,8 +131,9 @@ sftpfs_correct_file_name (const char *filename)
|
||||
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
||||
/* FIXME: is pointer arith correct here? */
|
||||
#define POINTER_TO_STRUCTURE_MEMBER(type) \
|
||||
((type) ((void *) config_entity + (off_t) config_variables[i].offset))
|
||||
((type) (config_entity + (off_t) config_variables[i].offset))
|
||||
|
||||
/**
|
||||
* Parse string and filling one config entity by parsed data.
|
||||
|
@ -149,7 +149,6 @@ sftpfs_readdir (void *data, GError ** mcerror)
|
||||
return NULL;
|
||||
|
||||
g_strlcpy (sftpfs_dirent.dent.d_name, mem, BUF_MEDIUM);
|
||||
compute_namelen (&sftpfs_dirent.dent);
|
||||
return &sftpfs_dirent;
|
||||
}
|
||||
|
||||
|
@ -939,8 +939,6 @@ smbfs_readdir (void *info)
|
||||
g_strlcpy (dirent_dest, smbfs_info->current->text, MC_MAXPATHLEN);
|
||||
smbfs_info->current = smbfs_info->current->next;
|
||||
|
||||
compute_namelen (&smbfs_readdir_data.dent);
|
||||
|
||||
return &smbfs_readdir_data;
|
||||
}
|
||||
|
||||
|
@ -414,8 +414,6 @@ undelfs_readdir (void *vfs_info)
|
||||
(long) delarray[readdir_ptr].ino, delarray[readdir_ptr].num_blocks);
|
||||
readdir_ptr++;
|
||||
|
||||
compute_namelen (&undelfs_readdir_data.dent);
|
||||
|
||||
return &undelfs_readdir_data;
|
||||
}
|
||||
|
||||
|
@ -286,9 +286,9 @@ mcview_isprint (const mcview_t * view, int c)
|
||||
return g_unichar_isprint (c);
|
||||
#else
|
||||
(void) view;
|
||||
#endif /* HAVE_CHARSET */
|
||||
/* TODO this is very-very buggy by design: ticket 3257 comments 0-1 */
|
||||
return is_printable (c);
|
||||
#endif /* HAVE_CHARSET */
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
@ -155,8 +155,8 @@ mcview_growbuf_read_until (mcview_t * view, off_t ofs)
|
||||
g_ptr_array_add (view->growbuf_blockptr, newblock);
|
||||
view->growbuf_lastindex = 0;
|
||||
}
|
||||
p = g_ptr_array_index (view->growbuf_blockptr,
|
||||
view->growbuf_blockptr->len - 1) + view->growbuf_lastindex;
|
||||
|
||||
p = (byte *) g_ptr_array_index (view->growbuf_blockptr, view->growbuf_blockptr->len - 1) + view->growbuf_lastindex;
|
||||
|
||||
bytesfree = VIEW_PAGE_SIZE - view->growbuf_lastindex;
|
||||
|
||||
@ -293,10 +293,10 @@ mcview_get_ptr_growing_buffer (mcview_t * view, off_t byte_index)
|
||||
if (view->growbuf_blockptr->len == 0)
|
||||
return NULL;
|
||||
if (pageno < (off_t) view->growbuf_blockptr->len - 1)
|
||||
return (char *) (g_ptr_array_index (view->growbuf_blockptr, pageno) + pageindex);
|
||||
return ((char *) g_ptr_array_index (view->growbuf_blockptr, pageno) + pageindex);
|
||||
if (pageno == (off_t) view->growbuf_blockptr->len - 1
|
||||
&& pageindex < (off_t) view->growbuf_lastindex)
|
||||
return (char *) (g_ptr_array_index (view->growbuf_blockptr, pageno) + pageindex);
|
||||
return ((char *) g_ptr_array_index (view->growbuf_blockptr, pageno) + pageindex);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user