From 63da1f948a43d90b08d2d72e362c25e9d1d23b4d Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Sat, 10 May 2014 23:01:27 -0300 Subject: API: Implement buffer_{get,set}_var --- src/api/buffer.c | 20 +++++++++++++++++--- src/api/buffer.h | 3 ++- 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'src') 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 /// -- cgit