aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordm1try <me@dmitry.it>2019-10-14 14:58:41 +0300
committerMarco Hinz <mh.codebro@gmail.com>2019-10-14 13:58:41 +0200
commitd0efc1c9062441c9addc846429794ad4a06cc130 (patch)
tree52277fd287d024258f9dcebed076987c9f19bfb3
parentba082885d23fe4e1de94474fb616428bd6e00d6e (diff)
downloadrneovim-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
-rw-r--r--src/nvim/tag.c6
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. */