diff options
author | dm1try <me@dmitry.it> | 2019-10-14 14:58:41 +0300 |
---|---|---|
committer | Marco Hinz <mh.codebro@gmail.com> | 2019-10-14 13:58:41 +0200 |
commit | d0efc1c9062441c9addc846429794ad4a06cc130 (patch) | |
tree | 52277fd287d024258f9dcebed076987c9f19bfb3 /src | |
parent | ba082885d23fe4e1de94474fb616428bd6e00d6e (diff) | |
download | rneovim-d0efc1c9062441c9addc846429794ad4a06cc130.tar.gz rneovim-d0efc1c9062441c9addc846429794ad4a06cc130.tar.bz2 rneovim-d0efc1c9062441c9addc846429794ad4a06cc130.zip |
mac: fix "tags file not sorted" bug on Catalina (#11222)
I/O in Catalina is currently known to be broken. This commit works around a pesky bug and also makes the code more consistent by removing the mix of C file and standard I/O.
Fixes https://github.com/neovim/neovim/issues/11196
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/tag.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/tag.c b/src/nvim/tag.c index 6fe3efbaae..1f70a10f28 100644 --- a/src/nvim/tag.c +++ b/src/nvim/tag.c @@ -1508,11 +1508,11 @@ line_read_in: * compute the first offset. */ if (state == TS_BINARY) { - // Get the tag file size. - if ((filesize = vim_lseek(fileno(fp), (off_T)0L, SEEK_END)) <= 0) { + if (vim_fseek(fp, 0, SEEK_END) != 0) { state = TS_LINEAR; } else { - vim_lseek(fileno(fp), (off_T)0L, SEEK_SET); + filesize = vim_ftell(fp); + vim_fseek(fp, 0, SEEK_SET); /* Calculate the first read offset in the file. Start * the search in the middle of the file. */ |