Fix garray.* according to -Wconversion

This commit is contained in:
Marco Hinz 2014-04-25 12:19:37 +02:00 committed by Thiago de Arruda
parent 6e2cb1bddb
commit b8520b8ee4
3 changed files with 10 additions and 13 deletions

View File

@ -34,15 +34,16 @@ file( GLOB OS_SOURCES os/*.c )
set(CONV_SRCS set(CONV_SRCS
api.c api.c
arabic.c arabic.c
garray.c
memory.c memory.c
os/env.c os/env.c
os/event.c os/event.c
os/job.c os/job.c
os/mem.c os/mem.c
os/rstream.c
os/signal.c os/signal.c
os/users.c os/users.c
os/wstream.c os/wstream.c
os/rstream.c
) )
set_source_files_properties( set_source_files_properties(

View File

@ -57,20 +57,16 @@ void ga_init(garray_T *gap, int itemsize, int growsize)
/// @param n /// @param n
void ga_grow(garray_T *gap, int n) void ga_grow(garray_T *gap, int n)
{ {
size_t old_len;
size_t new_len;
char_u *pp;
if (gap->ga_maxlen - gap->ga_len < n) { if (gap->ga_maxlen - gap->ga_len < n) {
if (n < gap->ga_growsize) { if (n < gap->ga_growsize) {
n = gap->ga_growsize; n = gap->ga_growsize;
} }
new_len = gap->ga_itemsize * (gap->ga_len + n); size_t new_len = (size_t)(gap->ga_itemsize * (gap->ga_len + n));
pp = (gap->ga_data == NULL) char_u *pp = (gap->ga_data == NULL)
? alloc((unsigned)new_len) ? alloc((unsigned)new_len)
: xrealloc(gap->ga_data, new_len); : xrealloc(gap->ga_data, new_len);
old_len = gap->ga_itemsize * gap->ga_maxlen; size_t old_len = (size_t)(gap->ga_itemsize * gap->ga_maxlen);
memset(pp + old_len, 0, new_len - old_len); memset(pp + old_len, 0, new_len - old_len);
gap->ga_maxlen = gap->ga_len + n; gap->ga_maxlen = gap->ga_len + n;
gap->ga_data = pp; gap->ga_data = pp;
@ -141,10 +137,10 @@ void ga_concat(garray_T *gap, char_u *s)
/// ///
/// @param gap /// @param gap
/// @param c /// @param c
void ga_append(garray_T *gap, int c) void ga_append(garray_T *gap, char c)
{ {
ga_grow(gap, 1); ga_grow(gap, 1);
*((char *) gap->ga_data + gap->ga_len) = c; *((char *)gap->ga_data + gap->ga_len) = c;
++gap->ga_len; ++gap->ga_len;
} }

View File

@ -23,7 +23,7 @@ void ga_grow(garray_T *gap, int n);
char_u *ga_concat_strings(garray_T *gap) FUNC_ATTR_NONNULL_RET; char_u *ga_concat_strings(garray_T *gap) FUNC_ATTR_NONNULL_RET;
void ga_remove_duplicate_strings(garray_T *gap); void ga_remove_duplicate_strings(garray_T *gap);
void ga_concat(garray_T *gap, char_u *s); void ga_concat(garray_T *gap, char_u *s);
void ga_append(garray_T *gap, int c); void ga_append(garray_T *gap, char c);
void append_ga_line(garray_T *gap); void append_ga_line(garray_T *gap);
#endif // NEOVIM_GARRAY_H #endif // NEOVIM_GARRAY_H