diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/api/buffer.c | 20 | ||||
-rw-r--r-- | src/api/buffer.h | 3 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/api/buffer.c b/src/api/buffer.c index bdd27fe347..9d64429de6 100644 --- a/src/api/buffer.c +++ b/src/api/buffer.c @@ -222,12 +222,26 @@ cleanup: Object buffer_get_var(Buffer buffer, String name, Error *err) { - abort(); + Object rv; + buf_T *buf = find_buffer(buffer, err); + + if (!buf) { + return rv; + } + + return dict_get_value(buf->b_vars, name, false, err); } -void buffer_set_var(Buffer buffer, String name, Object value, Error *err) +Object buffer_set_var(Buffer buffer, String name, Object value, Error *err) { - abort(); + Object rv; + buf_T *buf = find_buffer(buffer, err); + + if (!buf) { + return rv; + } + + return dict_set_value(buf->b_vars, name, value, err); } String buffer_get_option(Buffer buffer, String name, Error *err) diff --git a/src/api/buffer.h b/src/api/buffer.h index 516df04ae4..6c72a9f099 100644 --- a/src/api/buffer.h +++ b/src/api/buffer.h @@ -84,7 +84,8 @@ Object buffer_get_var(Buffer buffer, String name, Error *err); /// @param name The variable name /// @param value The variable value /// @param[out] err Details of an error that may have occurred -void buffer_set_var(Buffer buffer, String name, Object value, Error *err); +/// @return The old value +Object buffer_set_var(Buffer buffer, String name, Object value, Error *err); /// Gets a buffer option value /// |