aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/api')
-rw-r--r--src/nvim/api/buffer.c8
-rw-r--r--src/nvim/api/private/defs.h7
-rw-r--r--src/nvim/api/private/handle.h6
-rw-r--r--src/nvim/api/private/helpers.c3
-rw-r--r--src/nvim/api/private/helpers.h6
5 files changed, 18 insertions, 12 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c
index bf30ccf856..4721045048 100644
--- a/src/nvim/api/buffer.c
+++ b/src/nvim/api/buffer.c
@@ -60,6 +60,8 @@ String buffer_get_line(Buffer buffer, Integer index, Error *err)
rv = slice.items[0];
}
+ free(slice.items);
+
return rv;
}
@@ -217,7 +219,8 @@ void buffer_set_slice(Buffer buffer,
goto end;
}
- // Same as with replacing
+ // Same as with replacing, but we also need to free lines
+ free(lines[i]);
lines[i] = NULL;
extra++;
}
@@ -307,7 +310,7 @@ Integer buffer_get_number(Buffer buffer, Error *err)
String buffer_get_name(Buffer buffer, Error *err)
{
- String rv = {.size = 0, .data = ""};
+ String rv = STRING_INIT;
buf_T *buf = find_buffer(buffer, err);
if (!buf || buf->b_ffname == NULL) {
@@ -333,6 +336,7 @@ void buffer_set_name(Buffer buffer, String name, Error *err)
// Using aucmd_*: autocommands will be executed by rename_buffer
aucmd_prepbuf(&aco, buf);
ren_ret = rename_buffer((char_u *)val);
+ free(val);
aucmd_restbuf(&aco);
if (try_end(err)) {
diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h
index a91907f4f8..fbf9018043 100644
--- a/src/nvim/api/private/defs.h
+++ b/src/nvim/api/private/defs.h
@@ -1,11 +1,12 @@
-#ifndef NVIM_API_DEFS_H
-#define NVIM_API_DEFS_H
+#ifndef NVIM_API_PRIVATE_DEFS_H
+#define NVIM_API_PRIVATE_DEFS_H
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#define ARRAY_DICT_INIT {.size = 0, .items = NULL}
+#define STRING_INIT {.data = NULL, .size = 0}
#define REMOTE_TYPE(type) typedef uint64_t type
#define TYPED_ARRAY_OF(type) \
@@ -84,5 +85,5 @@ struct key_value_pair {
};
-#endif // NVIM_API_DEFS_H
+#endif // NVIM_API_PRIVATE_DEFS_H
diff --git a/src/nvim/api/private/handle.h b/src/nvim/api/private/handle.h
index 27df453233..1a196f6797 100644
--- a/src/nvim/api/private/handle.h
+++ b/src/nvim/api/private/handle.h
@@ -1,5 +1,5 @@
-#ifndef NVIM_API_HANDLE_H
-#define NVIM_API_HANDLE_H
+#ifndef NVIM_API_PRIVATE_HANDLE_H
+#define NVIM_API_PRIVATE_HANDLE_H
#include "nvim/vim.h"
#include "nvim/buffer_defs.h"
@@ -16,5 +16,5 @@ HANDLE_DECLS(tabpage_T, tabpage)
void handle_init(void);
-#endif // NVIM_API_HANDLE_H
+#endif // NVIM_API_PRIVATE_HANDLE_H
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index a43e7a8d2a..861ac8cc1b 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -267,6 +267,7 @@ void set_option_to(void *to, int type, String name, Object value, Error *err)
char *val = xstrndup(value.data.string.data, value.data.string.size);
set_option_value_for(key, 0, val, opt_flags, type, to, err);
+ free(val);
}
cleanup:
@@ -319,7 +320,7 @@ tabpage_T * find_tab(Tabpage tabpage, Error *err)
String cstr_to_string(const char *str) {
if (str == NULL) {
- return (String) { .data = NULL, .size = 0 };
+ return (String) STRING_INIT;
}
size_t len = strlen(str);
diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h
index 2d917c2b5e..04b128d3f1 100644
--- a/src/nvim/api/private/helpers.h
+++ b/src/nvim/api/private/helpers.h
@@ -1,5 +1,5 @@
-#ifndef NVIM_API_HELPERS_H
-#define NVIM_API_HELPERS_H
+#ifndef NVIM_API_PRIVATE_HELPERS_H
+#define NVIM_API_PRIVATE_HELPERS_H
#include <stdbool.h>
@@ -94,5 +94,5 @@ tabpage_T * find_tab(Tabpage tabpage, Error *err);
/// empty String is returned
String cstr_to_string(const char *str);
-#endif // NVIM_API_HELPERS_H
+#endif // NVIM_API_PRIVATE_HELPERS_H