diff options
author | June McEnroe <june@causal.agency> | 2020-02-12 00:48:43 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-12 00:48:43 -0500 |
commit | d73085eaa93a0217a679556f7a37a80421877b69 (patch) | |
tree | 95f2e00f36dfdbc23d0ab55426d4e6b790dbf2e8 /chat.h | |
parent | Handle RPL_AWAY (diff) | |
download | catgirl-d73085eaa93a0217a679556f7a37a80421877b69.tar.gz catgirl-d73085eaa93a0217a679556f7a37a80421877b69.zip |
Allow for arguments to open/copy utilities
Diffstat (limited to '')
-rw-r--r-- | chat.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/chat.h b/chat.h index 39be36e..4e9a230 100644 --- a/chat.h +++ b/chat.h @@ -194,8 +194,22 @@ void completeClear(size_t id); size_t completeID(const char *str); enum Color completeColor(size_t id, const char *str); -extern const char *urlOpenUtil; -extern const char *urlCopyUtil; +enum { UtilCap = 16 }; +struct Util { + size_t argc; + const char *argv[UtilCap]; +}; + +static inline void utilPush(struct Util *util, const char *arg) { + if (1 + util->argc < UtilCap) { + util->argv[util->argc++] = arg; + } else { + errx(EX_CONFIG, "too many utility arguments"); + } +} + +extern struct Util urlOpenUtil; +extern struct Util urlCopyUtil; void urlScan(size_t id, const char *nick, const char *mesg); void urlOpenCount(size_t id, size_t count); void urlOpenMatch(size_t id, const char *str); |