summaryrefslogtreecommitdiff
path: root/src/dged
diff options
context:
space:
mode:
Diffstat (limited to 'src/dged')
-rw-r--r--src/dged/buffers.c5
-rw-r--r--src/dged/buffers.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/dged/buffers.c b/src/dged/buffers.c
index aa6bcea..265a248 100644
--- a/src/dged/buffers.c
+++ b/src/dged/buffers.c
@@ -52,6 +52,11 @@ struct buffer *buffers_find_by_filename(struct buffers *buffers,
return NULL;
}
+void buffers_for_each(struct buffers *buffers, buffers_hook_cb callback,
+ void *userdata) {
+ VEC_FOR_EACH(&buffers->buffers, struct buffer * b) { callback(b, userdata); }
+}
+
void buffers_destroy(struct buffers *buffers) {
VEC_FOR_EACH(&buffers->buffers, struct buffer * b) { buffer_destroy(b); }
diff --git a/src/dged/buffers.h b/src/dged/buffers.h
index 8add8d8..cb37fcb 100644
--- a/src/dged/buffers.h
+++ b/src/dged/buffers.h
@@ -25,4 +25,6 @@ struct buffer *buffers_find_by_filename(struct buffers *buffers, const char *pat
uint32_t buffers_add_add_hook(struct buffers *buffers, buffers_hook_cb callback, void *userdata);
uint32_t buffers_add_remove_hook(struct buffers *buffers, buffers_hook_cb callback, void *userdata);
+void buffers_for_each(struct buffers *buffers, buffers_hook_cb callback, void *userdata);
+
void buffers_destroy(struct buffers *buffers);