Commit Graph

59 Commits

Author SHA1 Message Date
ZyX
c2f3e361c5 *: Add comment to all C files 2017-04-19 19:11:50 +03:00
ZyX
e3de83a829 hardcopy: Remove unneeded prt_do_conv assignment 2017-04-16 20:32:10 +03:00
ZyX
28dafe3ff0 eval,*: Move get_tv_string to typval.c
Function was renamed and changed to return `const char *`.
2017-03-29 10:08:05 +03:00
Sander Bosma
192fd161f9 hardcopy.c: fix dead assignment
`has_mbyte` is deprecated (globals.h), so `outputlen` is always assigned
within the if statement. Therefore, the previous initialization is
unnecessary.
2017-02-20 20:06:38 +01:00
Justin M. Keyes
7e799b6e91 refactor: Replace vim_strcat() with xstrlcat(). 2017-01-23 15:49:37 +01:00
Michael Ennen
4f3bb5262c vim-patch:7.4.1702
Problem:    Using freed memory when parsing 'printoptions' fails.
Solution:   Save the old options and restore them in case of an error.
            (Dominique)

4afc7c5d4a
2016-12-01 09:20:23 -05:00
Justin M. Keyes
91d13bd861 hardcopy.c: Fix -Wmaybe-uninitialized warning. 2016-10-08 00:05:50 +02:00
Justin M. Keyes
df072c3b2b refactor: eliminate misc2.c
move `call_shell` to misc1.c
Move some fns to state.c
Move some fns to option.c
Move some fns to memline.c
Move `vim_chdir*` fns to file_search.c
Move some fns to new module, bytes.c
Move some fns to fileio.c
2016-09-13 16:20:09 +02:00
James McCoy
080476882b vim-patch:7.4.1552
Problem:    ":colorscheme" does not use 'packpath'.
Solution:   Also use in "start" and "opt" directories in 'packpath'.

7f8989dd8a
2016-07-08 01:45:15 -04:00
ZyX
cf4e1fb0f4 *: Fix new linter errors
Originally there were 128 new errors, so I thought this is a good idea to fix 
all of them. Of course, this commit also fixes many suppressed errors.
2016-05-01 20:35:51 +03:00
Jurica Bradaric
2dfc8de1cf Merge tempfile.c back into fileio.c 2016-04-20 08:25:51 +02:00
ZyX
494b1c9bee *: Make set_vim_var_\* functions have proper argument types 2016-04-18 02:48:20 +03:00
Michael Reed
53ee6425c8 src/*: Remove VIM - Vi improved ... header
Regarding the individual items in the header:

`Vim - Vi improved	by Bram Moolenar`
  Bram Moolenar is already mentioned throughout the documentation, as
  well as the intro screen.

`:help uganda`
  It's already shown to all users who don't use `shortmess+=I` upon
  starting nvim, and is already placed prominently in help.txt, i.e.,
  `:help` run with no arguments.

`:help credits`
  Already mentioned near the top of help.txt.

`README.md`
  Already mentioned in develop.txt.
2015-11-27 16:25:10 -05:00
Rui Abreu Ferreira
4f24b9e06f Remove unnecessary includes for errno.h 2015-11-25 16:38:33 -05:00
Michael Reed
af5483089e src: README.txt -> README.md
The former no longer exists in this repo; see the top of
src/nvim/README.md.
2015-11-23 21:38:08 -05:00
Mark Bainter
f813fdce38 Remove char_u: add_pathsep() 2015-05-06 21:25:04 -05:00
Felipe Oliveira Carvalho
caabcae0b7 Replace VIM_ISDIGIT() and vim_isdigit() with ascii_isdigit() defined in ascii.h 2015-04-24 20:37:13 -03:00
John Szakmeister
2cbe7005c2 Fix a couple uninitialized variable warnings in the release build.
Reviewed-by: Eliseo Martínez <eliseomarmol@gmail.com>
Reviewed-by: Marco Hinz <mh.codebro@gmail.com>
Reviewed-by: Björn Linse <bjorn.linse@gmail.com>
2015-04-18 04:37:09 -04:00
Thiago de Arruda
34c48aaf12 memory: Add free wrapper and refactor project to use it
We already use wrappers for allocation, the new `xfree` function is the
equivalent for deallocation and provides a way to fully replace the malloc
implementation used by Neovim.
2015-04-13 08:22:44 -03:00
bobtwinkles
03d47965c0 refactor: split some more functions from misc1.c
This commit pulls the some environment-variable handling functions out of
misc1.c and in to os/env.c. Previously submited as #1231, this is the start of
a patch series that does that work based on a more up-to-date master branch.

Major tasks accomplished:
  - move functions and fix includes
  - fix clint/clang analysis warnings
  - correct documentation comments
2015-03-24 16:13:00 -04:00
John Szakmeister
c015eabe13 Merge pull request #2118 from rev112/fix_redundant_cast
Remove redundant casts
2015-03-13 07:09:08 -04:00
Björn Linse
e0f8eea9f1 version: don't use NVIM_VERSION_* directly outside version.c
This avoids recompiles after commiting.
2015-03-08 21:54:57 -04:00
Anton Ovchinnikov
9925b3a047 Remove redundant casts 2015-03-09 00:40:50 +01:00
Thiago de Arruda
3baba1e7bc refactor: Remove term modules and termcap options
- Removed term.c, term.h and term_defs.h
- Tests for T_* values were removed. screen.c was simplified as a
  consequence(the best strategy for drawing is implemented in the UI layer)
- Redraw functions now call ui.c functions directly. Updates are flushed with
  `ui_flush()`
- Removed all termcap options(they now return empty strings for compatibility)
- &term/&ttybuiltin options return a constant value(nvim)
- &t_Co is still available, but it mirrors t_colors directly
- Remove cursor tracking from screen.c and the `screen_start` function. Now the
  UI is expected to maintain cursor state across any call, and reset it when
  resized.
- Remove unused code
2015-02-21 05:08:21 -03:00
Eliseo Martínez
7a7c933b86 Enable -Wconversion: ui.c.
Refactoring summary:
- ui_write(): len: int --> size_t
    * parse_abstract_ui_codes(): len: int --> size_t
    * string_convert(): lenp: int * --> size_t *
        - string_convert_ext(): lenp      : int * --> size_t *
                                unconvlenp: int * --> size_t *
            * utf8len_tab_zero: char[] --> uint8_t[]
            * iconv_string(): slen      : int --> size_t
                              unconvlenp: int * --> size_t *
                              resultlenp: int * --> size_t *
        - mch_print_text_out(): len: int --> size_t
    * out_pos: int --> size_t
2015-02-18 20:54:12 -05:00
Thiago de Arruda
d8f3458ec7 syntax: Refactor to store all term and gui attributes independently
Now the attrentry_T structure will store all attributes in separate fields for
cterm and rgb UIs.
2015-02-16 23:17:39 -03:00
Eliseo Martínez
cf8e175cf5 coverity/13762: Out-of-bounds read: RI.
Problem    : Out-of-bounds read @ 2213.
Diagnostic : Real issue.
Rationale  : Error occurs if cmap == ARRAY_SIZE(prt_ps_mbfonts),
             but code takes the `if (prt_out_mbyte)` branch. That's it,
             if a matching encoding is found but not a matching charset.
             In that case, the first matching encoding is used.
Resolution : Remember the value of cmap for the first matching encoding.
             Reset cmap to that value if first matching encoding is
             going to be used.
2015-02-11 19:10:36 +01:00
Michael Reed
f4ad8e875c hardcopy.c: Factor out float usage 2015-01-24 16:50:42 -05:00
Jack Danger Canty
19c22cdb80 "halfway a line" is a very confusing phrase
If you Google for this phrase found in the Vim documentation you'll find
almost exclusively hits from the Vim documentation. I think changing
"halfway a line" to "halfway through a line" makes more sense.

There seems to be an pervasive odd use of the word 'halfway' in the
original docs which I'm updating everywhere.
2015-01-22 21:57:03 -08:00
Eliseo Martínez
12f606a2a8 Fix bad assert.
Problem  : Assert can fail for legal values. Modulo-arithmetic of
           unsigned types can make so that n * 100 > n, but n has
           overflowed.
Solution : Use alternative form of expression.
2015-01-14 10:19:21 +01:00
Eliseo Martínez
7f7262e933 Cleanup: Rename getdigits() family functions. 2015-01-11 21:04:08 +01:00
Eliseo Martínez
04c0658024 Cleanup: Refactor getdigits().
Problem  : getdigits() currently returns a long, but at most places,
           return value is casted (unsafely) into an int. Making casts
           safe would introduce a lot of fuss in the form of assertions
           checking for limits.
Note     : We cannot just change return type to int, because, at some
           places, legitimate long values are used. For example, in
           diff.c, for line numbers.
Solution : Introduce new functions:
           - get_digits()      : Gets an intmax_t from a string.
           - get_int_digits()  : Wrapper for ints.
           - get_long_digits() : Wrapper for longs.
           And replace getdigits() invocations by the appropiate
           wrapper invocations.
2015-01-11 17:18:39 +01:00
Eliseo Martínez
28e75d4c45 Cleanup: Refactor option_table_T.number: long --> int. 2015-01-11 15:10:38 +01:00
Eliseo Martínez
d600c8fbb1 Cleanup: Refactor prt_{fg,bg,new_bg}col: int --> uint32_t. 2015-01-11 15:10:29 +01:00
Eliseo Martínez
565c43668a Cleanup: Remove local var bg_color@prt_get_attr(). 2015-01-11 15:10:18 +01:00
Eliseo Martínez
d0bd057ffe Cleanup: Fix bad assert.
Assert will fail on first loop iteration (in that case,
prtpos.bytes_printed is 0).
2015-01-11 15:10:13 +01:00
Eliseo Martínez
2b93edde93 Remove long_u: hardcopy: Refactor long_u.
- <color_related_stuff>: long_u --> uint32_t

  Everywhere long_u was used to hold a color value.
  Color values are supposed to be 32 bits at most.
  Supported architectures have 32 bits ints, so we could have used plain
  ints. But this wouldn't be future-proof, and would be wasteful if a
  future architecture has ints bigger than 32 bits.
  So, uint32_t is perfect to achieve optimal packing no matter the
  architecture.

- bytes_to_print/bytes_printed: long_u --> size_t

  Seems like the correct thing, and gets rid of some casts.
2015-01-10 10:52:20 +01:00
Eliseo Martínez
ed8fbfaf5a Remove long_u: hardcopy: Enable -Wconversion. 2015-01-10 10:52:20 +01:00
Felipe Oliveira Carvalho
8aeb2e37ee Use ARRAY_SIZE where Coccinelle wasn't able to do it 2014-12-18 15:41:37 -03:00
Thiago de Arruda
bf6bb27e79 ui: Remove redundant ui.h includes
Also move read_error_exit to os/input.c
2014-11-27 15:00:30 -03:00
Thiago de Arruda
1865b8c1c1 ui: Remove ui_delay, ui_breakcheck and ui_set_shellsize
These functions only used to call another os_* function, so remove them and
replace all occurences in the project.
2014-11-27 14:27:18 -03:00
oni-link
e175751364 coverity/13765,13766,13767,13768: Fix memory leaks in hardcopy.c
The function mch_print_begin() returns early in case of an
error, but without freeing allocated memory.
To fix this, use stack allocation instead of heap allocation
for the variables res_prolog, res_encoding, res_cidfont and
res_cmap.
2014-11-16 11:22:58 +01:00
Eliseo Martínez
51080737df Fix warnings: hardcopy.c: mch_print_text_out(): Bad free: FP + RI.
Problem    : Bad free @ 3058.
Diagnostic : False positive uncovering a real issue.
Rationale  : Signaled error occurs if p gets assigned `(char_u*)""` at
             line 3009 and then is freed at line 3058. But that cannot
             happen because of the last guard condition before `free`
             (`*p != NUL`). So, signaled error is a false positive.
             Now, examining this code more carefully reveals a real
             issue: not freeing an empty string may not be always
             correct, as an empty (but allocated) string could also be
             returned in `p = string_convert(&prt_conv, p, &len);` if
             passed '&len' points to 0). Which would in fact be a memory
             leak.
Resolution : Remove the exceptional case. Make p always point to
             allocated memory, and always free it, when `prt_do_conv` is
             on.
2014-11-11 01:43:13 +01:00
Justin M. Keyes
08c99dcff0 version: update user-facing version indicators
- VIM_VERSION_LONG and VIM_VERSION_LONG_DATE do not affect plugins,
  they are only cosmetic.
- Vim-related version identifiers will be preserved for plugin
  compatibility (has("patchXXX") and v:version).
2014-10-07 02:45:27 +00:00
Pavel Platto
77cb6551a6 Remove EBCDIC: Remove IF_EB macros 2014-08-02 09:16:59 +03:00
Pavel Platto
e1dd98512f Remove EBCDIC: Clean up comments 2014-08-02 09:16:59 +03:00
Pavel Platto
286ce271e7 Extract tempfile module from fileio
Though this module is relatively small it has very clear boundaries.
The last argument for extracting `tempfile` was the errors which I got
when I was writing unittests for it: `cimport './src/nvim/fileio.h'`
does not work for some reason.
2014-07-14 21:14:40 +02:00
Pavel Platto
29e0cd1571 Refactor vim_tempname
- temp_count is uint32_t now instead of long because it supposed to be
  at most 999999999 (comment on line 5227) temporary files. The most
  probably it was a long for compatibility with systems where int is
  16-bit.
- Use "nvim" as prefix for temp folder name instead of "v"
- Remove unused parameter from vim_tempname
2014-07-14 21:14:40 +02:00
Brandon Coleman
0fff487690 move errno.h include out of vim.h 2014-07-09 00:18:20 +02:00
Brandon Coleman
bf219e1442 move <inttypes.h> include out of vim.h 2014-07-09 00:18:19 +02:00