From 46af36d62ee704e95653ac8bf937f55c199a7854 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Mon, 2 Mar 2026 14:26:04 +0200 Subject: dfm: work with nameless events This is needed for BSD kqueue. --- dfm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dfm.c b/dfm.c index 797700d..d6b6612 100644 --- a/dfm.c +++ b/dfm.c @@ -3548,12 +3548,16 @@ static inline void fm_watch_handle(struct fm *p) { for (cut n = {0};;) { - switch (fs_watch_pump(&p->p, &n.d, &n.l)) { - case '!': fm_dir_refresh(p); return; + char r = fs_watch_pump(&p->p, &n.d, &n.l); + if (!r) return; + if (r == '!' || !n.l) { + fm_dir_refresh(p); + return; + } + switch (r) { case '+': fm_dir_add(p, n); break; case '-': fm_dir_del(p, n); break; case '~': fm_dir_del(p, n); fm_dir_add(p, n); break; - default: return; } } } -- cgit v1.2.3