diff options
-rw-r--r-- | src/nvim/eval.c | 7 | ||||
-rw-r--r-- | src/nvim/os/job.c | 7 | ||||
-rw-r--r-- | src/nvim/os/job.h | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 1869b1eef9..d7deb2f322 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -10540,9 +10540,10 @@ static void f_job_write(typval_T *argvars, typval_T *rettv) EMSG(_(e_invjob)); } - rettv->vval.v_number = job_write(job, - xstrdup((char *)argvars[1].vval.v_string), - strlen((char *)argvars[1].vval.v_string)); + WBuffer *buf = wstream_new_buffer(xstrdup((char *)argvars[1].vval.v_string), + strlen((char *)argvars[1].vval.v_string), + free); + rettv->vval.v_number = job_write(job, buf); } /* diff --git a/src/nvim/os/job.c b/src/nvim/os/job.c index d51b67da53..0119e347dd 100644 --- a/src/nvim/os/job.c +++ b/src/nvim/os/job.c @@ -260,13 +260,12 @@ void job_stop(Job *job) /// returns when the write request was sent. /// /// @param job The Job instance -/// @param data Buffer containing the data to be written -/// @param len Size of the data +/// @param buffer The buffer which contains the data to be written /// @return true if the write request was successfully sent, false if writing /// to the job stream failed (possibly because the OS buffer is full) -bool job_write(Job *job, char *data, uint32_t len) +bool job_write(Job *job, WBuffer *buffer) { - return wstream_write(job->in, wstream_new_buffer(data, len, free)); + return wstream_write(job->in, buffer); } /// Sets the `defer` flag for a Job instance diff --git a/src/nvim/os/job.h b/src/nvim/os/job.h index f48218ffe7..e0ca615626 100644 --- a/src/nvim/os/job.h +++ b/src/nvim/os/job.h @@ -12,6 +12,8 @@ #include "nvim/os/rstream_defs.h" #include "nvim/os/event_defs.h" +#include "nvim/os/wstream.h" +#include "nvim/os/wstream_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/job.h.generated.h" |