aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/typval.h
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-12-04 21:58:19 +0300
committerZyX <kp-pav@yandex.ru>2017-03-29 10:08:44 +0300
commit1e3e302dc2bdced563ecd2c3fb101af31f72b3df (patch)
tree20cabc51adf1f3ece86233c56e3d771d0a9bee4b /src/nvim/eval/typval.h
parent5239616297182601a5d244a482e6cef307e901f1 (diff)
downloadrneovim-1e3e302dc2bdced563ecd2c3fb101af31f72b3df.tar.gz
rneovim-1e3e302dc2bdced563ecd2c3fb101af31f72b3df.tar.bz2
rneovim-1e3e302dc2bdced563ecd2c3fb101af31f72b3df.zip
eval: Move part of dictwatcher* functions to eval/typval
Diffstat (limited to 'src/nvim/eval/typval.h')
-rw-r--r--src/nvim/eval/typval.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h
index 791b191009..fa0105197f 100644
--- a/src/nvim/eval/typval.h
+++ b/src/nvim/eval/typval.h
@@ -59,6 +59,7 @@ typedef struct {
typedef struct dict_watcher {
Callback callback;
char *key_pattern;
+ size_t key_pattern_len;
QUEUE node;
bool busy; // prevent recursion if the dict is changed in the callback
} DictWatcher;
@@ -322,19 +323,6 @@ static inline bool tv_dict_is_watched(const dict_T *const d)
return d && !QUEUE_EMPTY(&d->watchers);
}
-static inline DictWatcher *tv_dict_watcher_node_data(QUEUE *q)
- REAL_FATTR_NONNULL_ALL REAL_FATTR_NONNULL_RET REAL_FATTR_PURE
- REAL_FATTR_WARN_UNUSED_RESULT;
-
-/// Compute the `DictWatcher` address from a QUEUE node.
-///
-/// This only exists for .asan-blacklist (ASAN doesn't handle QUEUE_DATA pointer
-/// arithmetic).
-static inline DictWatcher *tv_dict_watcher_node_data(QUEUE *q)
-{
- return QUEUE_DATA(q, DictWatcher, node);
-}
-
/// Initialize VimL object
///
/// Initializes to unlocked VAR_UNKNOWN object.
@@ -407,6 +395,19 @@ static inline bool tv_get_float_chk(const typval_T *const tv,
return false;
}
+static inline DictWatcher *tv_dict_watcher_node_data(QUEUE *q)
+ REAL_FATTR_NONNULL_ALL REAL_FATTR_NONNULL_RET REAL_FATTR_PURE
+ REAL_FATTR_WARN_UNUSED_RESULT REAL_FATTR_ALWAYS_INLINE;
+
+/// Compute the `DictWatcher` address from a QUEUE node.
+///
+/// This only exists for .asan-blacklist (ASAN doesn't handle QUEUE_DATA pointer
+/// arithmetic).
+static inline DictWatcher *tv_dict_watcher_node_data(QUEUE *q)
+{
+ return QUEUE_DATA(q, DictWatcher, node);
+}
+
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "eval/typval.h.generated.h"
#endif