Mercurial > vim
annotate src/proto/optionstr.pro @ 33864:6e4c686b6b5b v9.0.2142
patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions
Commit: https://github.com/vim/vim/commit/b39b240c386a5a29241415541f1c99e2e6b8ce47
Author: Christian Brabandt <cb@256bit.org>
Date: Wed Nov 29 11:34:05 2023 +0100
patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions
Problem: [security]: stack-buffer-overflow in option callback functions
Solution: pass size of errbuf down the call stack, use snprintf()
instead of sprintf()
We pass the error buffer down to the option callback functions, but in
some parts of the code, we simply use sprintf(buf) to write into the error
buffer, which can overflow.
So let's pass down the length of the error buffer and use sprintf(buf, size)
instead.
Reported by @henices, thanks!
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 10 Dec 2023 15:16:04 +0100 |
parents | 46d449fd4fe4 |
children | 2f9090601258 |
rev | line source |
---|---|
18100
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 /* optionstr.c */ |
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 void didset_string_options(void); |
31259
a7dba627a21b
patch 9.0.0963: function name does not match autocmd event name
Bram Moolenaar <Bram@vim.org>
parents:
29509
diff
changeset
|
3 void trigger_optionset_string(int opt_idx, int opt_flags, char_u *oldval, char_u *oldval_l, char_u *oldval_g, char_u *newval); |
18100
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 void check_buf_options(buf_T *buf); |
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 void free_string_option(char_u *p); |
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 void clear_string_option(char_u **pp); |
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 void check_string_option(char_u **pp); |
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 void set_string_option_direct(char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid); |
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 void set_string_option_direct_in_win(win_T *wp, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid); |
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 void set_string_option_direct_in_buf(buf_T *buf, char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid); |
33864
6e4c686b6b5b
patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions
Christian Brabandt <cb@256bit.org>
parents:
33555
diff
changeset
|
11 char *set_string_option(int opt_idx, char_u *value, int opt_flags, char *errbuf, int errbuflen); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
12 char *did_set_ambiwidth(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
13 char *did_set_background(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
14 char *did_set_backspace(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
15 char *did_set_backupcopy(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
16 char *did_set_backupext_or_patchmode(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
17 char *did_set_belloff(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
18 char *did_set_breakindentopt(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
19 char *did_set_browsedir(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
20 char *did_set_bufhidden(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
21 char *did_set_buftype(optset_T *args); |
32027
ef124f222fc2
patch 9.0.1345: too many "else if" statements for handling options
Bram Moolenaar <Bram@vim.org>
parents:
31996
diff
changeset
|
22 char *did_set_casemap(optset_T *args); |
32076
32acf287a9ae
patch 9.0.1369: still some "else if" constructs for setting options
Bram Moolenaar <Bram@vim.org>
parents:
32070
diff
changeset
|
23 char *did_set_chars_option(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
24 char *did_set_cinoptions(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
25 char *did_set_colorcolumn(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
26 char *did_set_comments(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
27 char *did_set_commentstring(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
28 char *did_set_complete(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
29 char *did_set_completeopt(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
30 char *did_set_completepopup(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
31 char *did_set_completeslash(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
32 char *did_set_concealcursor(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
33 char *did_set_cpoptions(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
34 char *did_set_cryptkey(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
35 char *did_set_cryptmethod(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
36 char *did_set_cscopequickfix(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
37 char *did_set_cursorlineopt(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
38 char *did_set_debug(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
39 char *did_set_diffopt(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
40 char *did_set_display(optset_T *args); |
32027
ef124f222fc2
patch 9.0.1345: too many "else if" statements for handling options
Bram Moolenaar <Bram@vim.org>
parents:
31996
diff
changeset
|
41 char *did_set_eadirection(optset_T *args); |
32086
45142117e206
patch 9.0.1374: function for setting options not used consistently
Bram Moolenaar <Bram@vim.org>
parents:
32076
diff
changeset
|
42 char *did_set_encoding(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
43 char *did_set_eventignore(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
44 char *did_set_fileformat(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
45 char *did_set_fileformats(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
46 char *did_set_filetype_or_syntax(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
47 char *did_set_foldclose(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
48 char *did_set_foldexpr(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
49 char *did_set_foldignore(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
50 char *did_set_foldmarker(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
51 char *did_set_foldmethod(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
52 char *did_set_foldopen(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
53 char *did_set_formatoptions(optset_T *args); |
32043
6095218c9056
patch 9.0.1353: too many "else if" statements to handle option values
Bram Moolenaar <Bram@vim.org>
parents:
32027
diff
changeset
|
54 char *did_set_guicursor(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
55 char *did_set_guifont(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
56 char *did_set_guifontset(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
57 char *did_set_guifontwide(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
58 char *did_set_guiligatures(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
59 char *did_set_guioptions(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
60 char *did_set_guitablabel(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
61 char *did_set_helpfile(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
62 char *did_set_helplang(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
63 char *did_set_highlight(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
64 char *did_set_iconstring(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
65 char *did_set_imactivatekey(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
66 char *did_set_isopt(optset_T *args); |
33311
1f3bcb7f3bd0
patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents:
32096
diff
changeset
|
67 char *did_set_jumpoptions(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
68 char *did_set_keymap(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
69 char *did_set_keymodel(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
70 char *did_set_keyprotocol(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
71 char *did_set_lispoptions(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
72 char *did_set_matchpairs(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
73 char *did_set_mkspellmem(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
74 char *did_set_mouse(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
75 char *did_set_mousemodel(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
76 char *did_set_mouseshape(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
77 char *did_set_nrformats(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
78 char *did_set_optexpr(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
79 char *did_set_pastetoggle(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
80 char *did_set_previewpopup(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
81 char *did_set_printencoding(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
82 char *did_set_renderoptions(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
83 char *did_set_rightleftcmd(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
84 char *did_set_rulerformat(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
85 char *did_set_scrollopt(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
86 char *did_set_selection(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
87 char *did_set_selectmode(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
88 char *did_set_sessionoptions(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
89 char *did_set_shortmess(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
90 char *did_set_showbreak(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
91 char *did_set_showcmdloc(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
92 char *did_set_signcolumn(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
93 char *did_set_spellcapcheck(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
94 char *did_set_spellfile(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
95 char *did_set_spelllang(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
96 char *did_set_spelloptions(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
97 char *did_set_spellsuggest(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
98 char *did_set_splitkeep(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
99 char *did_set_statusline(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
100 char *did_set_swapsync(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
101 char *did_set_switchbuf(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
102 char *did_set_tabline(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
103 char *did_set_tagcase(optset_T *args); |
32096
e7ab58f57ea3
patch 9.0.1379: functions for handling options are not ordered
Bram Moolenaar <Bram@vim.org>
parents:
32086
diff
changeset
|
104 char *did_set_term(optset_T *args); |
32086
45142117e206
patch 9.0.1374: function for setting options not used consistently
Bram Moolenaar <Bram@vim.org>
parents:
32076
diff
changeset
|
105 char *did_set_term_option(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
106 char *did_set_termwinkey(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
107 char *did_set_termwinsize(optset_T *args); |
32027
ef124f222fc2
patch 9.0.1345: too many "else if" statements for handling options
Bram Moolenaar <Bram@vim.org>
parents:
31996
diff
changeset
|
108 char *did_set_termwintype(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
109 char *did_set_titlestring(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
110 char *did_set_toolbar(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
111 char *did_set_toolbariconsize(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
112 char *did_set_ttymouse(optset_T *args); |
31996
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
113 char *did_set_varsofttabstop(optset_T *args); |
ca6bc7c04163
patch 9.0.1330: handling new value of an option has a long "else if" chain
Bram Moolenaar <Bram@vim.org>
parents:
31950
diff
changeset
|
114 char *did_set_vartabstop(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
115 char *did_set_verbosefile(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
116 char *did_set_viewoptions(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
117 char *did_set_viminfo(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
118 char *did_set_virtualedit(optset_T *args); |
32043
6095218c9056
patch 9.0.1353: too many "else if" statements to handle option values
Bram Moolenaar <Bram@vim.org>
parents:
32027
diff
changeset
|
119 char *did_set_whichwrap(optset_T *args); |
32070
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
120 char *did_set_wildmode(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
121 char *did_set_wildoptions(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
122 char *did_set_winaltkeys(optset_T *args); |
ef85a4440947
patch 9.0.1366: functions for setting options are in random order
Bram Moolenaar <Bram@vim.org>
parents:
32055
diff
changeset
|
123 char *did_set_wincolor(optset_T *args); |
33864
6e4c686b6b5b
patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions
Christian Brabandt <cb@256bit.org>
parents:
33555
diff
changeset
|
124 char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char_u *value, char *errbuf, int errbuflen, int opt_flags, set_op_T op, int *value_checked); |
33399
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
125 int expand_set_ambiwidth(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
126 int expand_set_background(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
127 int expand_set_backspace(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
128 int expand_set_backupcopy(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
129 int expand_set_belloff(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
130 int expand_set_breakindentopt(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
131 int expand_set_browsedir(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
132 int expand_set_bufhidden(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
133 int expand_set_buftype(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
134 int expand_set_casemap(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
135 int expand_set_chars_option(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
136 int expand_set_clipboard(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
137 int expand_set_complete(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
138 int expand_set_completeopt(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
139 int expand_set_completeslash(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
140 int expand_set_concealcursor(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
141 int expand_set_cpoptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
142 int expand_set_cryptmethod(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
143 int expand_set_cursorlineopt(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
144 int expand_set_debug(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
145 int expand_set_diffopt(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
146 int expand_set_display(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
147 int expand_set_eadirection(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
148 int expand_set_encoding(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
149 int expand_set_eventignore(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
150 int expand_set_fileformat(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
151 int expand_set_foldclose(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
152 int expand_set_foldmethod(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
153 int expand_set_foldopen(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
154 int expand_set_formatoptions(optexpand_T *args, int *numMatches, char_u ***matches); |
33480
f8dd278ab05f
patch 9.0.1991: no cmdline completion for setting the font
Christian Brabandt <cb@256bit.org>
parents:
33420
diff
changeset
|
155 int expand_set_guifont(optexpand_T *args, int *numMatches, char_u ***matches); |
33399
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
156 int expand_set_guioptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
157 int expand_set_highlight(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
158 int expand_set_jumpoptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
159 int expand_set_keymodel(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
160 int expand_set_keyprotocol(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
161 int expand_set_lispoptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
162 int expand_set_mouse(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
163 int expand_set_mousemodel(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
164 int expand_set_nrformats(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
165 int expand_set_popupoption(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
166 int expand_set_printoptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
167 int expand_set_rightleftcmd(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
168 int expand_set_scrollopt(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
169 int expand_set_selection(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
170 int expand_set_selectmode(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
171 int expand_set_sessionoptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
172 int expand_set_shortmess(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
173 int expand_set_showcmdloc(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
174 int expand_set_signcolumn(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
175 int expand_set_spelloptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
176 int expand_set_spellsuggest(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
177 int expand_set_splitkeep(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
178 int expand_set_swapsync(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
179 int expand_set_switchbuf(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
180 int expand_set_tagcase(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
181 int expand_set_termwintype(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
182 int expand_set_toolbar(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
183 int expand_set_toolbariconsize(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
184 int expand_set_ttymouse(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
185 int expand_set_virtualedit(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
186 int expand_set_whichwrap(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
187 int expand_set_wildmode(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
188 int expand_set_wildoptions(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
189 int expand_set_winaltkeys(optexpand_T *args, int *numMatches, char_u ***matches); |
95db67c7b754
patch 9.0.1958: cannot complete option values
Christian Brabandt <cb@256bit.org>
parents:
33311
diff
changeset
|
190 int expand_set_wincolor(optexpand_T *args, int *numMatches, char_u ***matches); |
18100
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
191 int check_ff_value(char_u *p); |
33555
46d449fd4fe4
patch 9.0.2025: no cmdline completion for ++opt args
Christian Brabandt <cb@256bit.org>
parents:
33480
diff
changeset
|
192 char_u *get_fileformat_name(expand_T *xp, int idx); |
31463
db72745d328c
patch 9.0.1064: code for making 'shortmess' temporarily empty is repeated
Bram Moolenaar <Bram@vim.org>
parents:
31259
diff
changeset
|
193 void save_clear_shm_value(void); |
db72745d328c
patch 9.0.1064: code for making 'shortmess' temporarily empty is repeated
Bram Moolenaar <Bram@vim.org>
parents:
31259
diff
changeset
|
194 void restore_shm_value(void); |
18100
df5778d73320
patch 8.1.2045: the option.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
195 /* vim: set ft=c : */ |