diff options
author | C. McEnroe | 2020-02-12 00:48:43 -0500 |
---|---|---|
committer | C. McEnroe | 2020-02-12 00:48:43 -0500 |
commit | d73085eaa93a0217a679556f7a37a80421877b69 (patch) | |
tree | 95f2e00f36dfdbc23d0ab55426d4e6b790dbf2e8 /chat.h | |
parent | 3a325d3914e75bd079ad8df31ca4f39197519386 (diff) |
Allow for arguments to open/copy utilities
Diffstat (limited to 'chat.h')
-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); |