annotate src/proto/charset.pro @ 33817:4550abd680b6 v9.0.2124

patch 9.0.2124: INT overflow detection logic can be simplified Commit: https://github.com/vim/vim/commit/2b0882fa6555b4d0197afbdfc32a4533cf6aacf4 Author: Ernie Rael <errael@raelity.com> Date: Thu Nov 23 20:21:45 2023 +0100 patch 9.0.2124: INT overflow detection logic can be simplified Problem: INT overflow logic can be simplified Solution: introduce trim_to_int() function closes: #13556 Signed-off-by: Ernie Rael <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 23 Nov 2023 20:45:04 +0100
parents 39f4126d2a0d
children 65e7eaf68f19
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 /* charset.c */
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
2 int init_chartab(void);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
3 int buf_init_chartab(buf_T *buf, int global);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
4 void trans_characters(char_u *buf, int bufsize);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
5 char_u *transstr(char_u *s);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
6 char_u *str_foldcase(char_u *str, int orglen, char_u *buf, int buflen);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
7 char_u *transchar(int c);
20782
c4bce986c31a patch 8.2.0943: displaying ^M or ^J depends on current buffer
Bram Moolenaar <Bram@vim.org>
parents: 17789
diff changeset
8 char_u *transchar_buf(buf_T *buf, int c);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
9 char_u *transchar_byte(int c);
31964
c0a9bc376b54 patch 9.0.1314: :messages behavior depends on 'fileformat' of current buffer
Bram Moolenaar <Bram@vim.org>
parents: 30833
diff changeset
10 char_u *transchar_byte_buf(buf_T *buf, int c);
20782
c4bce986c31a patch 8.2.0943: displaying ^M or ^J depends on current buffer
Bram Moolenaar <Bram@vim.org>
parents: 17789
diff changeset
11 void transchar_nonprint(buf_T *buf, char_u *charbuf, int c);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
12 void transchar_hex(char_u *buf, int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
13 int byte2cells(int b);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
14 int char2cells(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
15 int ptr2cells(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
16 int vim_strsize(char_u *s);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
17 int vim_strnsize(char_u *s, int len);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
18 int chartabsize(char_u *p, colnr_T col);
30833
e3d5781c7ec6 patch 9.0.0751: 'scrolloff' does not work well with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30205
diff changeset
19 int linetabsize_str(char_u *s);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
20 int linetabsize_col(int startcol, char_u *s);
29451
057c26b5c33a patch 9.0.0067: cannot show virtual text
Bram Moolenaar <Bram@vim.org>
parents: 27784
diff changeset
21 int win_linetabsize(win_T *wp, linenr_T lnum, char_u *line, colnr_T len);
30833
e3d5781c7ec6 patch 9.0.0751: 'scrolloff' does not work well with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30205
diff changeset
22 int linetabsize(win_T *wp, linenr_T lnum);
29678
fc0f93590fd4 patch 9.0.0179: cursor pos wrong with wrapping virtual text in empty line
Bram Moolenaar <Bram@vim.org>
parents: 29597
diff changeset
23 void win_linetabsize_cts(chartabsize_T *cts, colnr_T len);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
24 int vim_isIDc(int c);
24375
fe4b6fc7149c patch 8.2.2728: special key names don't work if 'isident' is cleared
Bram Moolenaar <Bram@vim.org>
parents: 20782
diff changeset
25 int vim_isNormalIDc(int c);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
26 int vim_iswordc(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
27 int vim_iswordc_buf(int c, buf_T *buf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
28 int vim_iswordp(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
29 int vim_iswordp_buf(char_u *p, buf_T *buf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
30 int vim_isfilec(int c);
29595
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 29451
diff changeset
31 int vim_is_fname_char(int c);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
32 int vim_isfilec_or_wc(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
33 int vim_isprintc(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
34 int vim_isprintc_strict(int c);
29451
057c26b5c33a patch 9.0.0067: cannot show virtual text
Bram Moolenaar <Bram@vim.org>
parents: 27784
diff changeset
35 void init_chartabsize_arg(chartabsize_T *cts, win_T *wp, linenr_T lnum, colnr_T col, char_u *line, char_u *ptr);
057c26b5c33a patch 9.0.0067: cannot show virtual text
Bram Moolenaar <Bram@vim.org>
parents: 27784
diff changeset
36 void clear_chartabsize_arg(chartabsize_T *cts);
057c26b5c33a patch 9.0.0067: cannot show virtual text
Bram Moolenaar <Bram@vim.org>
parents: 27784
diff changeset
37 int lbr_chartabsize(chartabsize_T *cts);
057c26b5c33a patch 9.0.0067: cannot show virtual text
Bram Moolenaar <Bram@vim.org>
parents: 27784
diff changeset
38 int lbr_chartabsize_adv(chartabsize_T *cts);
057c26b5c33a patch 9.0.0067: cannot show virtual text
Bram Moolenaar <Bram@vim.org>
parents: 27784
diff changeset
39 int win_lbr_chartabsize(chartabsize_T *cts, int *headp);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
40 void getvcol(win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
41 colnr_T getvcol_nolist(pos_T *posp);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
42 void getvvcol(win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
43 void getvcols(win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
44 char_u *skipwhite(char_u *q);
26572
9f7568104726 patch 8.2.3815: Vim9: cannot have a multi-line dict inside a block
Bram Moolenaar <Bram@vim.org>
parents: 26327
diff changeset
45 char_u *skipwhite_and_nl(char_u *q);
12323
4dba3e4f3b01 patch 8.0.1041: bogus characters when indenting during visual-block append
Christian Brabandt <cb@256bit.org>
parents: 9389
diff changeset
46 int getwhitecols_curline(void);
4dba3e4f3b01 patch 8.0.1041: bogus characters when indenting during visual-block append
Christian Brabandt <cb@256bit.org>
parents: 9389
diff changeset
47 int getwhitecols(char_u *p);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
48 char_u *skipdigits(char_u *q);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
49 char_u *skipbin(char_u *q);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
50 char_u *skiphex(char_u *q);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
51 char_u *skiptobin(char_u *q);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
52 char_u *skiptodigit(char_u *q);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
53 char_u *skiptohex(char_u *q);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
54 int vim_isdigit(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
55 int vim_isxdigit(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
56 int vim_isbdigit(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
57 int vim_islower(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
58 int vim_isupper(int c);
27784
bfce04a99561 patch 8.2.4418: crash when using special multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 26572
diff changeset
59 int vim_isalpha(int c);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
60 int vim_toupper(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
61 int vim_tolower(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
62 char_u *skiptowhite(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
63 char_u *skiptowhite_esc(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
64 long getdigits(char_u **pp);
26327
227543e4181f patch 8.2.3694: cannot use quotes in the count of an Ex command
Bram Moolenaar <Bram@vim.org>
parents: 24375
diff changeset
65 long getdigits_quoted(char_u **pp);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
66 int vim_isblankline(char_u *lbuf);
32098
39f4126d2a0d patch 9.0.1380: CTRL-X on 2**64 subtracts two
Bram Moolenaar <Bram@vim.org>
parents: 31964
diff changeset
67 void vim_str2nr(char_u *start, int *prep, int *len, int what, varnumber_T *nptr, uvarnumber_T *unptr, int maxlen, int strict, int *overflow);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
68 int hex2nr(int c);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
69 int hexhex2nr(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
70 int rem_backslash(char_u *str);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
71 void backslash_halve(char_u *p);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 7447
diff changeset
72 char_u *backslash_halve_save(char_u *p);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 /* vim: set ft=c : */