mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 14:38:32 +00:00
do_source: less fuss about fopen_noinh_readbin
This commit is contained in:
@@ -49,7 +49,6 @@
|
|||||||
#cmakedefine UNIX
|
#cmakedefine UNIX
|
||||||
#cmakedefine USE_FNAME_CASE
|
#cmakedefine USE_FNAME_CASE
|
||||||
|
|
||||||
#define FEAT_CSCOPE
|
|
||||||
#cmakedefine FEAT_TUI
|
#cmakedefine FEAT_TUI
|
||||||
|
|
||||||
#ifndef UNIT_TESTING
|
#ifndef UNIT_TESTING
|
||||||
|
@@ -2482,12 +2482,8 @@ int source_level(void *cookie)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if (defined(WIN32) && defined(FEAT_CSCOPE)) || defined(HAVE_FD_CLOEXEC)
|
/// Special function to open a file without handle inheritance.
|
||||||
# define USE_FOPEN_NOINH
|
/// If possible the handle is closed on exec().
|
||||||
/*
|
|
||||||
* Special function to open a file without handle inheritance.
|
|
||||||
* When possible the handle is closed on exec().
|
|
||||||
*/
|
|
||||||
static FILE *fopen_noinh_readbin(char *filename)
|
static FILE *fopen_noinh_readbin(char *filename)
|
||||||
{
|
{
|
||||||
int fd_tmp = os_open(filename, O_RDONLY, 0);
|
int fd_tmp = os_open(filename, O_RDONLY, 0);
|
||||||
@@ -2506,7 +2502,6 @@ static FILE *fopen_noinh_readbin(char *filename)
|
|||||||
|
|
||||||
return fdopen(fd_tmp, READBIN);
|
return fdopen(fd_tmp, READBIN);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2560,11 +2555,7 @@ do_source (
|
|||||||
/* Apply SourcePre autocommands, they may get the file. */
|
/* Apply SourcePre autocommands, they may get the file. */
|
||||||
apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf);
|
apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf);
|
||||||
|
|
||||||
#ifdef USE_FOPEN_NOINH
|
|
||||||
cookie.fp = fopen_noinh_readbin((char *)fname_exp);
|
cookie.fp = fopen_noinh_readbin((char *)fname_exp);
|
||||||
#else
|
|
||||||
cookie.fp = mch_fopen((char *)fname_exp, READBIN);
|
|
||||||
#endif
|
|
||||||
if (cookie.fp == NULL && check_other) {
|
if (cookie.fp == NULL && check_other) {
|
||||||
/*
|
/*
|
||||||
* Try again, replacing file name ".vimrc" by "_vimrc" or vice versa,
|
* Try again, replacing file name ".vimrc" by "_vimrc" or vice versa,
|
||||||
@@ -2573,15 +2564,8 @@ do_source (
|
|||||||
p = path_tail(fname_exp);
|
p = path_tail(fname_exp);
|
||||||
if ((*p == '.' || *p == '_')
|
if ((*p == '.' || *p == '_')
|
||||||
&& (STRICMP(p + 1, "nvimrc") == 0 || STRICMP(p + 1, "exrc") == 0)) {
|
&& (STRICMP(p + 1, "nvimrc") == 0 || STRICMP(p + 1, "exrc") == 0)) {
|
||||||
if (*p == '_')
|
*p = (*p == '_') ? '.' : '_';
|
||||||
*p = '.';
|
|
||||||
else
|
|
||||||
*p = '_';
|
|
||||||
#ifdef USE_FOPEN_NOINH
|
|
||||||
cookie.fp = fopen_noinh_readbin((char *)fname_exp);
|
cookie.fp = fopen_noinh_readbin((char *)fname_exp);
|
||||||
#else
|
|
||||||
cookie.fp = mch_fopen((char *)fname_exp, READBIN);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user