diff options
author | Shane Iler <sriler@gmail.com> | 2014-06-30 16:22:10 -0700 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-07-11 18:11:20 -0400 |
commit | d61829dd0694e442ae6794dbc415ea27f5585b75 (patch) | |
tree | 47f68d9b00c2401af20b9397f0fe0647cc59ec0a /src | |
parent | fa1d9301f7f1c2b4ea426125e513d3724394df49 (diff) | |
download | rneovim-d61829dd0694e442ae6794dbc415ea27f5585b75.tar.gz rneovim-d61829dd0694e442ae6794dbc415ea27f5585b75.tar.bz2 rneovim-d61829dd0694e442ae6794dbc415ea27f5585b75.zip |
Enable and fix misc2.c -Wconversion warnings #907
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/nvim/misc2.c | 24 | ||||
-rw-r--r-- | src/nvim/misc2.h | 3 | ||||
-rw-r--r-- | src/nvim/spell.c | 10 | ||||
-rw-r--r-- | src/nvim/undo.c | 4 |
5 files changed, 19 insertions, 24 deletions
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 0aa9415292..6b0538c52d 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -44,7 +44,7 @@ set(CONV_SRCS log.c map.c memory.c - map.c + misc2.c os/env.c os/event.c os/job.c diff --git a/src/nvim/misc2.c b/src/nvim/misc2.c index d2da6cbd65..3fe5f1a0ed 100644 --- a/src/nvim/misc2.c +++ b/src/nvim/misc2.c @@ -488,28 +488,20 @@ time_t get8ctime(FILE *fd) return n; } -/* - * Read a string of length "cnt" from "fd" into allocated memory. - * Returns NULL when unable to read that many bytes. - */ -char_u *read_string(FILE *fd, int cnt) +/// Reads a string of length "cnt" from "fd" into allocated memory. +/// @return pointer to the string or NULL when unable to read that many bytes. +char *read_string(FILE *fd, size_t cnt) { - int i; - int c; - - char_u *str = xmallocz(cnt); - /* Read the string. Quit when running into the EOF. */ - for (i = 0; i < cnt; ++i) { - c = getc(fd); + uint8_t *str = xmallocz(cnt); + for (size_t i = 0; i < cnt; i++) { + int c = getc(fd); if (c == EOF) { free(str); return NULL; } - str[i] = c; + str[i] = (uint8_t)c; } - str[i] = NUL; - - return str; + return (char *)str; } /* diff --git a/src/nvim/misc2.h b/src/nvim/misc2.h index f7695d1b94..28b5b775d2 100644 --- a/src/nvim/misc2.h +++ b/src/nvim/misc2.h @@ -3,7 +3,10 @@ #include "nvim/os/shell.h" +#define READ_STRING(x, y) (char_u *)read_string((x), (size_t)(y)) + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "misc2.h.generated.h" #endif + #endif // NVIM_MISC2_H diff --git a/src/nvim/spell.c b/src/nvim/spell.c index 55e86d1339..1607f037a9 100644 --- a/src/nvim/spell.c +++ b/src/nvim/spell.c @@ -2600,7 +2600,7 @@ spell_load_file ( res = 0; switch (n) { case SN_INFO: - lp->sl_info = read_string(fd, len); // <infotext> + lp->sl_info = READ_STRING(fd, len); // <infotext> if (lp->sl_info == NULL) goto endFAIL; break; @@ -2614,7 +2614,7 @@ spell_load_file ( break; case SN_MIDWORD: - lp->sl_midword = read_string(fd, len); // <midword> + lp->sl_midword = READ_STRING(fd, len); // <midword> if (lp->sl_midword == NULL) goto endFAIL; break; @@ -2640,7 +2640,7 @@ spell_load_file ( break; case SN_MAP: - p = read_string(fd, len); // <mapstr> + p = READ_STRING(fd, len); // <mapstr> if (p == NULL) goto endFAIL; set_map_str(lp, p); @@ -2668,7 +2668,7 @@ spell_load_file ( break; case SN_SYLLABLE: - lp->sl_syllable = read_string(fd, len); // <syllable> + lp->sl_syllable = READ_STRING(fd, len); // <syllable> if (lp->sl_syllable == NULL) goto endFAIL; if (init_syl_tab(lp) == FAIL) @@ -2764,7 +2764,7 @@ static char_u *read_cnt_string(FILE *fd, int cnt_bytes, int *cntp) if (cnt == 0) return NULL; // nothing to read, return NULL - str = read_string(fd, cnt); + str = READ_STRING(fd, cnt); if (str == NULL) *cntp = SP_OTHERERROR; return str; diff --git a/src/nvim/undo.c b/src/nvim/undo.c index de963683fe..c7d5dacfed 100644 --- a/src/nvim/undo.c +++ b/src/nvim/undo.c @@ -916,7 +916,7 @@ static u_entry_T *unserialize_uep(FILE *fp, int *error, char_u *file_name) for (i = 0; i < uep->ue_size; ++i) { line_len = get4c(fp); if (line_len >= 0) - line = read_string(fp, line_len); + line = READ_STRING(fp, line_len); else { line = NULL; corruption_error("line length", file_name); @@ -1316,7 +1316,7 @@ void u_read_undo(char_u *name, char_u *hash, char_u *orig_name) if (str_len < 0) goto error; if (str_len > 0) - line_ptr = read_string(fp, str_len); + line_ptr = READ_STRING(fp, str_len); line_lnum = (linenr_T)get4c(fp); line_colnr = (colnr_T)get4c(fp); if (line_lnum < 0 || line_colnr < 0) { |