diff options
| author | Dylan Araps <dylan.araps@gmail.com> | 2026-03-02 14:26:04 +0200 |
|---|---|---|
| committer | Dylan Araps <dylan.araps@gmail.com> | 2026-03-02 14:26:04 +0200 |
| commit | 46af36d62ee704e95653ac8bf937f55c199a7854 (patch) | |
| tree | b668cf797e6393e52172a2d0fadc566efe945f7a /dfm.c | |
| parent | 02d397f864f1242809de4677ee1727399dd2616d (diff) | |
dfm: work with nameless events
This is needed for BSD kqueue.
Diffstat (limited to 'dfm.c')
| -rw-r--r-- | dfm.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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; } } } |