summaryrefslogtreecommitdiff
path: root/src/dged/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dged/window.c')
-rw-r--r--src/dged/window.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/dged/window.c b/src/dged/window.c
index efdcd29..33659a7 100644
--- a/src/dged/window.c
+++ b/src/dged/window.c
@@ -202,6 +202,20 @@ void windows_set_active(struct window *window) {
}
}
+struct window *window_find_by_buffer(struct buffer *b) {
+ struct window_node *n = BINTREE_ROOT(&g_windows.windows);
+ BINTREE_FIRST(n);
+ while (n != NULL) {
+ struct window *w = &BINTREE_VALUE(n);
+ if (window_buffer(w) == b) {
+ return w;
+ }
+ BINTREE_NEXT(n);
+ }
+
+ return NULL;
+}
+
struct window *windows_get_active() {
return &BINTREE_VALUE(g_windows.active);
}