1
1
* 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.
Этот коммит содержится в:
Andrew Borodin 2015-05-24 18:04:39 +03:00
родитель 2641b2cc11 edcae9673b
Коммит 8e19fabb09
31 изменённых файлов: 100 добавлений и 121 удалений

Просмотреть файл

@ -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.

Просмотреть файл

@ -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])

Просмотреть файл

@ -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;
}