aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c149
1 files changed, 0 insertions, 149 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 31e4953a5c..aa4f42bd68 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -6,7 +6,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/stat.h>
#include <uv.h>
#include "auto/config.h"
@@ -21,7 +20,6 @@
#include "nvim/channel.h"
#include "nvim/charset.h"
#include "nvim/cmdexpand_defs.h"
-#include "nvim/cmdhist.h"
#include "nvim/cursor.h"
#include "nvim/edit.h"
#include "nvim/errors.h"
@@ -64,9 +62,7 @@
#include "nvim/option.h"
#include "nvim/option_vars.h"
#include "nvim/optionstr.h"
-#include "nvim/os/fileio.h"
#include "nvim/os/fs.h"
-#include "nvim/os/fs_defs.h"
#include "nvim/os/lang.h"
#include "nvim/os/os.h"
#include "nvim/os/os_defs.h"
@@ -79,7 +75,6 @@
#include "nvim/regexp_defs.h"
#include "nvim/runtime.h"
#include "nvim/runtime_defs.h"
-#include "nvim/search.h"
#include "nvim/strings.h"
#include "nvim/tag.h"
#include "nvim/types_defs.h"
@@ -99,7 +94,6 @@ static const char e_cannot_index_special_variable[]
= N_("E909: Cannot index a special variable");
static const char *e_nowhitespace
= N_("E274: No white space allowed before parenthesis");
-static const char *e_write2 = N_("E80: Error while writing: %s");
static const char e_cannot_index_a_funcref[]
= N_("E695: Cannot index a Funcref");
static const char e_variable_nested_too_deep_for_making_copy[]
@@ -6270,149 +6264,6 @@ void timer_teardown(void)
timer_stop_all();
}
-/// Write "list" of strings to file "fd".
-///
-/// @param fp File to write to.
-/// @param[in] list List to write.
-/// @param[in] binary Whether to write in binary mode.
-///
-/// @return true in case of success, false otherwise.
-bool write_list(FileDescriptor *const fp, const list_T *const list, const bool binary)
- FUNC_ATTR_NONNULL_ARG(1)
-{
- int error = 0;
- TV_LIST_ITER_CONST(list, li, {
- const char *const s = tv_get_string_chk(TV_LIST_ITEM_TV(li));
- if (s == NULL) {
- return false;
- }
- const char *hunk_start = s;
- for (const char *p = hunk_start;; p++) {
- if (*p == NUL || *p == NL) {
- if (p != hunk_start) {
- const ptrdiff_t written = file_write(fp, hunk_start,
- (size_t)(p - hunk_start));
- if (written < 0) {
- error = (int)written;
- goto write_list_error;
- }
- }
- if (*p == NUL) {
- break;
- } else {
- hunk_start = p + 1;
- const ptrdiff_t written = file_write(fp, (char[]){ NUL }, 1);
- if (written < 0) {
- error = (int)written;
- break;
- }
- }
- }
- }
- if (!binary || TV_LIST_ITEM_NEXT(list, li) != NULL) {
- const ptrdiff_t written = file_write(fp, "\n", 1);
- if (written < 0) {
- error = (int)written;
- goto write_list_error;
- }
- }
- });
- if ((error = file_flush(fp)) != 0) {
- goto write_list_error;
- }
- return true;
-write_list_error:
- semsg(_(e_write2), os_strerror(error));
- return false;
-}
-
-/// Write a blob to file with descriptor `fp`.
-///
-/// @param[in] fp File to write to.
-/// @param[in] blob Blob to write.
-///
-/// @return true on success, or false on failure.
-bool write_blob(FileDescriptor *const fp, const blob_T *const blob)
- FUNC_ATTR_NONNULL_ARG(1)
-{
- int error = 0;
- const int len = tv_blob_len(blob);
- if (len > 0) {
- const ptrdiff_t written = file_write(fp, blob->bv_ga.ga_data, (size_t)len);
- if (written < (ptrdiff_t)len) {
- error = (int)written;
- goto write_blob_error;
- }
- }
- error = file_flush(fp);
- if (error != 0) {
- goto write_blob_error;
- }
- return true;
-write_blob_error:
- semsg(_(e_write2), os_strerror(error));
- return false;
-}
-
-/// Read blob from file "fd".
-/// Caller has allocated a blob in "rettv".
-///
-/// @param[in] fd File to read from.
-/// @param[in,out] rettv Blob to write to.
-/// @param[in] offset Read the file from the specified offset.
-/// @param[in] size Read the specified size, or -1 if no limit.
-///
-/// @return OK on success, or FAIL on failure.
-int read_blob(FILE *const fd, typval_T *rettv, off_T offset, off_T size_arg)
- FUNC_ATTR_NONNULL_ALL
-{
- blob_T *const blob = rettv->vval.v_blob;
- FileInfo file_info;
- if (!os_fileinfo_fd(fileno(fd), &file_info)) {
- return FAIL; // can't read the file, error
- }
-
- int whence;
- off_T size = size_arg;
- const off_T file_size = (off_T)os_fileinfo_size(&file_info);
- if (offset >= 0) {
- // The size defaults to the whole file. If a size is given it is
- // limited to not go past the end of the file.
- if (size == -1 || (size > file_size - offset && !S_ISCHR(file_info.stat.st_mode))) {
- // size may become negative, checked below
- size = (off_T)os_fileinfo_size(&file_info) - offset;
- }
- whence = SEEK_SET;
- } else {
- // limit the offset to not go before the start of the file
- if (-offset > file_size && !S_ISCHR(file_info.stat.st_mode)) {
- offset = -file_size;
- }
- // Size defaults to reading until the end of the file.
- if (size == -1 || size > -offset) {
- size = -offset;
- }
- whence = SEEK_END;
- }
- if (size <= 0) {
- return OK;
- }
- if (offset != 0 && vim_fseek(fd, offset, whence) != 0) {
- return OK;
- }
-
- ga_grow(&blob->bv_ga, (int)size);
- blob->bv_ga.ga_len = (int)size;
- if (fread(blob->bv_ga.ga_data, 1, (size_t)blob->bv_ga.ga_len, fd)
- < (size_t)blob->bv_ga.ga_len) {
- // An empty blob is returned on error.
- tv_blob_free(rettv->vval.v_blob);
- rettv->vval.v_blob = NULL;
- return FAIL;
- }
- return OK;
-}
-
/// Saves a typval_T as a string.
///
/// For lists or buffers, replaces NLs with NUL and separates items with NLs.