diff options
author | bfredl <bjorn.linse@gmail.com> | 2024-05-28 13:03:00 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2024-05-28 13:06:35 +0200 |
commit | ff7f22c28b602c84350785624b4b6fc9ae35f950 (patch) | |
tree | b2adc04224a5454ba257bc334e83ed1a29552e61 /src/nvim/main.c | |
parent | 90a4b1a59cf0c204cb39ec7789ab8783626e449d (diff) | |
download | rneovim-ff7f22c28b602c84350785624b4b6fc9ae35f950.tar.gz rneovim-ff7f22c28b602c84350785624b4b6fc9ae35f950.tar.bz2 rneovim-ff7f22c28b602c84350785624b4b6fc9ae35f950.zip |
refactor(fileio): remove useless use of FileDescriptor
FileDescriptor is used to buffer togheter many small writes to fewer
syscalls. if the data to write already is in a single buffer, it is
perfectly fine to just use os_write directly (which will take care of
the reverse problem: splitting a too big write into many syscalls)
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r-- | src/nvim/main.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index 17a0bbf082..cf1324d37f 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -1100,23 +1100,13 @@ static void command_line_scan(mparm_T *parmp) // set stdout to binary to avoid crlf in --api-info output _setmode(STDOUT_FILENO, _O_BINARY); #endif - FileDescriptor fp; - const int fof_ret = file_open_fd(&fp, STDOUT_FILENO, - kFileWriteOnly); - if (fof_ret != 0) { - semsg(_("E5421: Failed to open stdin: %s"), os_strerror(fof_ret)); - } String data = api_metadata_raw(); - const ptrdiff_t written_bytes = file_write(&fp, data.data, data.size); + const ptrdiff_t written_bytes = os_write(STDOUT_FILENO, data.data, data.size, false); if (written_bytes < 0) { - msgpack_file_write_error((int)written_bytes); + semsg(_("E5420: Failed to write to file: %s"), os_strerror((int)written_bytes)); } - const int ff_ret = file_flush(&fp); - if (ff_ret < 0) { - msgpack_file_write_error(ff_ret); - } os_exit(0); } else if (STRICMP(argv[0] + argv_idx, "headless") == 0) { headless_mode = true; |