diff options
author | Zoltan Arpadffy <zoltan.arpadffy@gmail.com> | 2023-12-19 20:53:07 +0100 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-12-19 20:53:07 +0100 |
commit | 6fdb6280821a822768df5689a5d727e37d38306c (patch) | |
tree | df4499466c758d7c18f5390567f72b52f1da525c /src/eval.c | |
parent | 63210c214afa6589b6132bd060908a8711f4567f (diff) |
patch 9.0.2180: POSIX function name in exarg causes issuesv9.0.2180
Problem: POSIX function name in exarg struct causes issues
on OpenVMS
Solution: Rename getline member in exarg struct to ea_getline,
remove isinf() workaround for VMS
There are compilers that do not treat well POSIX functions - like
getline - usage in the structs.
Older VMS compilers could digest this... but the newer OpenVMS compilers
( like VSI C x86-64 X7.4-843 (GEM 50XB9) ) cannot deal with these
structs. This could be limited to getline() that is defined via
getdelim() and might not affect all POSIX functions in general - but
avoiding POSIX function names usage in the structs is a "safe side"
practice without compromising the functionality or the code readability.
The previous OpenVMS X86 port used a workaround limiting the compiler
capabilities using __CRTL_VER_OVERRIDE=80400000
In order to make the OpenVMS port future proof, this pull request
proposes a possible solution.
closes: #13704
Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index 877a20ff28..6f88e03a3b 100644 --- a/src/eval.c +++ b/src/eval.c @@ -133,9 +133,9 @@ fill_evalarg_from_eap(evalarg_T *evalarg, exarg_T *eap, int skip) return; evalarg->eval_cstack = eap->cstack; - if (sourcing_a_script(eap) || eap->getline == get_list_line) + if (sourcing_a_script(eap) || eap->ea_getline == get_list_line) { - evalarg->eval_getline = eap->getline; + evalarg->eval_getline = eap->ea_getline; evalarg->eval_cookie = eap->cookie; } } @@ -7542,7 +7542,7 @@ ex_execute(exarg_T *eap) sticky_cmdmod_flags = cmdmod.cmod_flags & (CMOD_LEGACY | CMOD_VIM9CMD); do_cmdline((char_u *)ga.ga_data, - eap->getline, eap->cookie, DOCMD_NOWAIT|DOCMD_VERBOSE); + eap->ea_getline, eap->cookie, DOCMD_NOWAIT|DOCMD_VERBOSE); sticky_cmdmod_flags = save_sticky_cmdmod_flags; } } |