Mercurial > vim
annotate src/os_unixx.h @ 27784:bfce04a99561 v8.2.4418
patch 8.2.4418: crash when using special multi-byte character
Commit: https://github.com/vim/vim/commit/5921aeb5741fc6e84c870d68c7c35b93ad0c9f87
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 19 11:20:12 2022 +0000
patch 8.2.4418: crash when using special multi-byte character
Problem: Crash when using special multi-byte character.
Solution: Don't use isalpha() for an arbitrary character.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 19 Feb 2022 12:30:04 +0100 |
parents | f37028184d6a |
children | c0b3e3c7786c |
rev | line source |
---|---|
10042
4aead6a9b7a9
commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents:
2109
diff
changeset
|
1 /* vi:set ts=8 sts=4 sw=4 noet: |
7 | 2 * |
3 * VIM - Vi IMproved by Bram Moolenaar | |
4 * | |
5 * Do ":help uganda" in Vim to read copying and usage conditions. | |
6 * Do ":help credits" in Vim to see a list of people who contributed. | |
7 */ | |
8 | |
9 /* | |
10 * os_unixx.h -- include files that are only used in os_unix.c | |
11 */ | |
12 | |
13 /* | |
14 * Stuff for signals | |
15 */ | |
16 #if defined(HAVE_SIGSET) && !defined(signal) | |
17 # define signal sigset | |
18 #endif | |
19 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
20 // Sun's sys/ioctl.h redefines symbols from termio world |
10460
7fd589f46801
commit https://github.com/vim/vim/commit/a899e6ecc4523c7e411eaf6fbaa4197d70f6f39e
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
21 #if defined(HAVE_SYS_IOCTL_H) && !defined(SUN_SYSTEM) |
7 | 22 # include <sys/ioctl.h> |
23 #endif | |
24 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
25 #ifndef USE_SYSTEM // use fork/exec to start the shell |
7 | 26 |
27 # if defined(HAVE_SYS_WAIT_H) || defined(HAVE_UNION_WAIT) | |
28 # include <sys/wait.h> | |
29 # endif | |
30 | |
31 # ifndef WEXITSTATUS | |
32 # ifdef HAVE_UNION_WAIT | |
33 # define WEXITSTATUS(stat_val) ((stat_val).w_T.w_Retcode) | |
34 # else | |
35 # define WEXITSTATUS(stat_val) (((stat_val) >> 8) & 0377) | |
36 # endif | |
37 # endif | |
38 | |
39 # ifndef WIFEXITED | |
40 # ifdef HAVE_UNION_WAIT | |
41 # define WIFEXITED(stat_val) ((stat_val).w_T.w_Termsig == 0) | |
42 # else | |
43 # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) | |
44 # endif | |
45 # endif | |
46 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
47 #endif // !USE_SYSTEM |
7 | 48 |
49 #ifdef HAVE_STROPTS_H | |
19816
f37028184d6a
patch 8.2.0464: typos and other small problems
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
50 # ifdef sinix |
f37028184d6a
patch 8.2.0464: typos and other small problems
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
51 # define buf_T __system_buf_t__ |
f37028184d6a
patch 8.2.0464: typos and other small problems
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
52 # endif |
7 | 53 # include <stropts.h> |
19816
f37028184d6a
patch 8.2.0464: typos and other small problems
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
54 # ifdef sinix |
f37028184d6a
patch 8.2.0464: typos and other small problems
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
55 # undef buf_T |
f37028184d6a
patch 8.2.0464: typos and other small problems
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
56 # endif |
7 | 57 #endif |
58 | |
59 #ifdef HAVE_STRING_H | |
60 # include <string.h> | |
61 #endif | |
62 | |
63 #ifdef HAVE_SYS_STREAM_H | |
64 # include <sys/stream.h> | |
65 #endif | |
66 | |
67 #ifdef HAVE_SYS_UTSNAME_H | |
68 # include <sys/utsname.h> | |
69 #endif | |
70 | |
71 #ifdef HAVE_SYS_SYSTEMINFO_H | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
72 // <sys/systeminfo.h> uses SYS_NMLN but it may not be defined (CrayT3E). |
11 | 73 # ifndef SYS_NMLN |
74 # define SYS_NMLN 32 | |
75 # endif | |
76 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
77 # include <sys/systeminfo.h> // for sysinfo |
7 | 78 #endif |
79 | |
80 /* | |
81 * We use termios.h if both termios.h and termio.h are available. | |
82 * Termios is supposed to be a superset of termio.h. Don't include them both, | |
83 * it may give problems on some systems (e.g. hpux). | |
84 * I don't understand why we don't want termios.h for apollo. | |
85 */ | |
86 #if defined(HAVE_TERMIOS_H) && !defined(apollo) | |
87 # include <termios.h> | |
88 #else | |
89 # ifdef HAVE_TERMIO_H | |
90 # include <termio.h> | |
91 # else | |
92 # ifdef HAVE_SGTTY_H | |
93 # include <sgtty.h> | |
94 # endif | |
95 # endif | |
96 #endif | |
97 | |
98 #ifdef HAVE_SYS_PTEM_H | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
99 # include <sys/ptem.h> // must be after termios.h for Sinix |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
100 # ifndef _IO_PTEM_H // For UnixWare that should check for _IO_PT_PTEM_H |
7 | 101 # define _IO_PTEM_H |
102 # endif | |
103 #endif | |
104 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
105 // shared library access |
7 | 106 #if defined(HAVE_DLFCN_H) && defined(USE_DLOPEN) |
10567
82c2c450dad0
patch 8.0.0173: build fails with EBCDIC defined
Christian Brabandt <cb@256bit.org>
parents:
10460
diff
changeset
|
107 # if defined(__MVS__) && !defined (__SUSV3) |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
10914
diff
changeset
|
108 // needed to define RTLD_LAZY (Anthony Giorgio) |
802 | 109 # define __SUSV3 |
110 # endif | |
7 | 111 # include <dlfcn.h> |
112 #else | |
113 # if defined(HAVE_DL_H) && defined(HAVE_SHL_LOAD) | |
114 # include <dl.h> | |
115 # endif | |
116 #endif |