dstr_destroy(&d);
}
-- #if 0 /*unused*/
- -static void a_alert(unsigned f_and, unsigned f_eq, const char *tag,
+ +static void a_alert(unsigned f_and, unsigned f_eq, const char *status,
const char *fmt, ...)
{
va_list ap;
+ +
va_start(ap, fmt);
- - a_valert(f_and, f_eq, tag, fmt, ap);
+ + a_valert(f_and, f_eq, status, fmt, ap);
va_end(ap);
}
-- #endif
/* --- @a_warn@ --- *
*
#endif
static void acmd_watch(admin *a, unsigned ac, char *av[])
- -{
- - traceish(a, ac, av, "watch", w_opts, &a->f);
- -}
+ + { traceish(a, ac, av, "watch", w_opts, &a->f); }
static void alertcmd(admin *a, unsigned f_and, unsigned f_eq,
-- const char *tag, unsigned ac, char *av[])
-- {
-- dstr d = DSTR_INIT;
-- unsigned i;
--
-- dstr_puts(&d, "USER");
-- for (i = 0; i < ac; i++)
-- quotify(&d, av[i]);
-- dstr_putz(&d);
-- a_rawalert(f_and, f_eq, tag, d.buf, d.len);
-- dstr_destroy(&d);
-- a_ok(a);
-- }
--
++ const char *status, char *av[])
++ { a_alert(f_and, f_eq, status, "USER", "?TOKENS", av, A_END); a_ok(a); }
static void acmd_notify(admin *a, unsigned ac, char *av[])
-- { alertcmd(a, AF_NOTE, AF_NOTE, "NOTE", ac, av); }
++ { alertcmd(a, AF_NOTE, AF_NOTE, "NOTE", av); }
static void acmd_warn(admin *a, unsigned ac, char *av[])
-- { alertcmd(a, AF_WARN, AF_WARN, "WARN", ac, av); }
++ { alertcmd(a, AF_WARN, AF_WARN, "WARN", av); }
static void acmd_port(admin *a, unsigned ac, char *av[])
- -{
- - a_info(a, "%u", p_port(), A_END);
- - a_ok(a);
- -}
+ + { a_info(a, "%u", p_port(), A_END); a_ok(a); }
static void acmd_daemon(admin *a, unsigned ac, char *av[])
{
/*----- Connection handling -----------------------------------------------*/
-- /* --- @a_lock@ --- *
- *
- * Arguments: @admin *a@ = pointer to an admin block
- *
- * Returns: ---
- *
- * Use: Locks an admin block so that it won't be destroyed
- * immediately.
- */
-
- static void a_lock(admin *a) { a->ref++; }
-
- /* --- @a_dodestroy@ --- *
++ /* --- @a_destroypending@ --- *
*
- * Arguments: @admin *a@ = pointer to an admin block
- *
- * Returns: ---
- *
- * Use: Locks an admin block so that it won't be destroyed
- * immediately.
- */
-
- static void a_lock(admin *a) { a->ref++; }
-
- /* --- @a_dodestroy@ --- *
- *
-- * Arguments: @admin *a@ = pointer to an admin block
++ * Arguments: ---
*
* Returns: ---
*