| 2479 | }; |
| 2480 | |
| 2481 | static void |
| 2482 | mount_devctl_event_mntopt(struct sbuf *sb, const char *what, struct vfsoptlist *opts) |
| 2483 | { |
| 2484 | struct vfsopt *opt; |
| 2485 | |
| 2486 | if (opts == NULL || TAILQ_EMPTY(opts)) |
| 2487 | return; |
| 2488 | sbuf_printf(sb, " %s=\"", what); |
| 2489 | TAILQ_FOREACH(opt, opts, link) { |
| 2490 | if (opt->name[0] == '\0' || (opt->len > 0 && *(char *)opt->value == '\0')) |
| 2491 | continue; |
| 2492 | devctl_safe_quote_sb(sb, opt->name); |
| 2493 | if (opt->len > 0) { |
| 2494 | sbuf_putc(sb, '='); |
| 2495 | devctl_safe_quote_sb(sb, opt->value); |
| 2496 | } |
| 2497 | sbuf_putc(sb, ';'); |
| 2498 | } |
| 2499 | sbuf_putc(sb, '"'); |
| 2500 | } |
| 2501 | |
| 2502 | #define DEVCTL_LEN 1024 |
| 2503 | static void |
no test coverage detected