Commit Graph

1071 Commits

Author SHA1 Message Date
Douglas Schneider
2a0784731d Replace vim_strncpy calls: hardcopy.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
656408e479 Replace vim_strncpy calls: quickfix.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
4e81698988 Replace vim_strncpy calls: if_cscope.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
e554ea2036 Replace vim_strncpy calls: regexp.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
4517eb80be Replace vim_strncpy calls: fold.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
a501d7a940 Replace vim_strncpy calls: ex_getln.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
9a1a2b9a59 Replace vim_strncpy calls: menu.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
30f5cd6c30 Replace vim_strncpy calls: option.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
2179a03111 Replace vim_strncpy calls: path.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
260c327fb5 Replace vim_strncpy calls: memline.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
4e2cbddaaa Replace vim_strncpy calls: os/fs.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
7249729af6 Replace vim_strncpy calls: os/users.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
52c46d2cad Replace vim_strncpy calls: mark.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
4a8ac58596 Replace vim_strncpy calls: ops.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
a328bcfb47 Replace vim_strncpy calls: misc2.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
d6e9b3caad Replace vim_strncpy calls: os_unix.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
c37d4c5d12 Replace vim_strncpy calls: file_search.c 2014-06-13 18:08:21 -04:00
Douglas Schneider
e412da2954 Replace vim_strncpy calls: getchar.c 2014-06-13 18:08:20 -04:00
Douglas Schneider
f9596aa201 Replace vim_strncpy calls: add STRLCPY 2014-06-13 18:08:20 -04:00
Will Stamper
5b3b3fd3ed spelling fixes #827 2014-06-12 20:26:35 -04:00
Justin M. Keyes
168575f3f7 Merge #774 'Move defines from vim.h to other header files' 2014-06-12 20:13:52 -04:00
Brandon Coleman
1ff8ed7b82 removed whitespace from ROOT_UID define. 2014-06-12 01:20:36 -05:00
Pavel Platto
18b64c99cc Remove unnecessary (int) casts and fix style 2014-06-12 01:20:36 -05:00
Brandon Coleman
7f21665673 move/remove W_* macros
move W_ENDCOL to screen.c
remove the rest of the W_* macros
2014-06-12 01:20:36 -05:00
Brandon Coleman
7cdbca7789 move SST_* defines to syntax_defs 2014-06-12 01:20:36 -05:00
Brandon Coleman
eade8e283e move FINDFILE_* defines to file_search.h 2014-06-12 01:20:36 -05:00
Brandon Coleman
1bd6912023 move EW_* defines to path.h 2014-06-12 01:20:36 -05:00
Brandon Coleman
da5e8526d1 move WILD_* defines to ex_getln.h 2014-06-12 01:20:36 -05:00
Brandon Coleman
b3ac402695 move VALID_* defines to buffer_defs.h 2014-06-12 01:20:36 -05:00
Brandon Coleman
e41284df21 move HL_* variables to syntax.h 2014-06-12 01:20:36 -05:00
Brandon Coleman
ebd412681e move values for find_pattern_in_path() to search.h 2014-06-12 01:20:36 -05:00
Brandon Coleman
bb53536d6e move update_screen() flags to screen.h 2014-06-12 01:20:36 -05:00
Sahat Yalkabov
284a38a065 SVG coverage badge #821 2014-06-12 01:45:21 -04:00
Justin M. Keyes
bbd75cee82 Merge #804 'Coverity fix resource leaks 1b' 2014-06-12 01:41:12 -04:00
Nicolas Hillegeer
70f28d938c coverity/13685: silence NUL-termnation fp
It was a false positive, but it can't hurt to "fix" it.

Original warning:
CID 13685 (#1 of 1): Buffer not null terminated (BUFFER_SIZE)
6. buffer_size: Calling strncpy with a source string whose length (4 chars)
is greater than or equal to the size argument (4) will fail to
null-terminate b0p->b0_version.
2014-06-12 01:41:03 -04:00
Nicolas Hillegeer
1a031af233 coverity/13770: add_keyword(), mark as false pos.
Also cleaned up the function a little bit.
2014-06-12 01:41:03 -04:00
Nicolas Hillegeer
ebbd87b0be coverity/62615: fix leak in write_reg_contents_ex
Coverity detected a memory leak caused by not free'ing the value returned by
get_expr_line_src (basically vim_strsave(expr_line)). Replaced the copying
with direct manipulation of expr_line, since that also happens in other
parts of the codebase.

NOTE: I'm aware that this has different behaviour than vim_strnsave, namely
vim_strnsave always allocates `len` bytes, even if the string is shorter. I
don't see how that behaviour is helpful here though.
2014-06-12 01:41:03 -04:00
Nicolas Hillegeer
731761715a coverity/62617: fix leak in set_string_default
Also constified the arguments. The double casts for the `xstrdup` are ugly
but `vim_strsave` doesn't take `const` arguments for now so I couldn't keep
that.
2014-06-12 01:41:03 -04:00
Felipe Oliveira Carvalho
f39fd5b4c4 Declare garray iterators in the for() scope where possible #819 2014-06-10 14:15:21 -04:00
Wesley Wiser
a321480342 Add function attributes to functions in memory.h #811
Add missing function attributes in memory.h. Fixes #806
2014-06-10 02:46:43 -04:00
Andrew Chin
785b16d905 Prevent null-pointer deference during vim_eval #785
If the eval_expr call in vim_eval returns NULL, a null-pointer deference
would happen a few frames down, in vim_to_object_rec
2014-06-10 02:39:39 -04:00
Brandon Coleman
d2dfa8523e deleted unused defines in vim.h #772 2014-06-10 01:42:48 -04:00
Justin M. Keyes
39cdb5f214 Merge #783 'Nul terminate pascal strings' 2014-06-08 16:32:31 -04:00
Nicolas Hillegeer
54ca93465c api: unify string conversions, simplify interop
- The data member of String's can now be passed directly to functions
  expecting C strings, as we now guarantee that they are NUL-terminated.
  This obviates the need to use xstrndup and free, simplifying code and
  enhancing performance.
- Use xmemdupz instead of xstrndup for converting String's into C strings.
  It's faster because it doesn't calculate strlen(string.data) (which is
  unnecesary as that information is already provided in string.size anyway).
- Use cstr_to_string to convert from C strings to String, it is both shorter
  and faster than the usual strlen/xstrndup combo, which calls strlen twice.
  cstr_to_string internally calls strlen and then xmemdupz.
2014-06-08 19:21:35 +02:00
Nicolas Hillegeer
563698b2dc api: also NUL-terminate Strings made from cstrs
I believe we can now mostly assume that all encountered String's data
members are safe to pass into functions that accept C strings. That should
simplify interop with C string code.
2014-06-08 19:21:35 +02:00
Nicolas Hillegeer
e1793949ab api: remove some redundant string copies
Now that incoming Pascal strings are NULL-terminated by default, we can skip
some spurious copies.
2014-06-08 19:21:30 +02:00
Nicolas Hillegeer
b5640b136c msgpack: NULL terminate incoming strings
It's a 1-byte loss of memory but it allows us to skip copying and
NULL-terminating strings when interacting with vim functions that accept C
strings. This lowers the pressure on the allocator and saves lines of code
(no more dup/free pairs).
2014-06-08 19:15:16 +02:00
Justin M. Keyes
0d91b067ac Merge #777 'Constify text enc args fix mb_string2cells' 2014-06-08 12:48:53 -04:00
Nicolas Hillegeer
46e4bc0481 text: remove useless arg from mb_string2cells
mb_string2cells was always called like mb_string2cells(..., -1) so that was
the only codepath that was tested. @tarruda was the first to try to input an
actual length, after which valgrind detected that funny business was going
on.

It's not even possible to do the right thing with the current text codec
infrastructure: they all assume to be working with C strings. Meaning that
if there is no NUL-terminator, they will happily keep on reading past the
end of Pascal strings. Ergo, passing the length parameter is moot. The
condition in the for-loop was wrong as well (but that's no longer relevant).

Also change the return value to size_t, by analogy with strlen.

ref:
677d30d796
2014-06-08 12:48:22 -04:00
Nicolas Hillegeer
63a956112a text/encoding: constify arguments
Most of these functions don't modify their strings, let's make the contract
a bit clearer. In some cases I've tried to get rid of C89-style variable
declarations at the start of functions, now that I was there.
2014-06-07 13:14:13 +02:00