diff options
author | June McEnroe <june@causal.agency> | 2018-08-09 00:24:49 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-08-09 00:24:49 -0400 |
commit | a64f1a4ea2962e534673e27d85d92703c64201b0 (patch) | |
tree | 1bcf8ffdf2ae7280b406fe021619e9c61b83de6b /input.c | |
parent | Add commands to tab complete (diff) | |
download | catgirl-a64f1a4ea2962e534673e27d85d92703c64201b0.tar.gz catgirl-a64f1a4ea2962e534673e27d85d92703c64201b0.zip |
Add URL detection, listing and opening
Might also add /copy, like /open.
Diffstat (limited to 'input.c')
-rw-r--r-- | input.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/input.c b/input.c index 0ac64f5..64102e2 100644 --- a/input.c +++ b/input.c @@ -73,6 +73,21 @@ static void inputQuit(char *params) { } } +static void inputUrl(char *params) { + (void)params; + urlList(); +} +static void inputOpen(char *params) { + if (!params) { urlOpen(1); return; } + size_t from = strtoul(strsep(¶ms, "-,"), NULL, 0); + if (!params) { urlOpen(from); return; } + size_t to = strtoul(strsep(¶ms, "-,"), NULL, 0); + if (to < from) to = from; + for (size_t i = from; i <= to; ++i) { + urlOpen(i); + } +} + static const struct { const char *command; Handler handler; @@ -80,8 +95,10 @@ static const struct { { "/me", inputMe }, { "/names", inputWho }, { "/nick", inputNick }, + { "/open", inputOpen }, { "/quit", inputQuit }, { "/topic", inputTopic }, + { "/url", inputUrl }, { "/who", inputWho }, }; static const size_t COMMANDS_LEN = sizeof(COMMANDS) / sizeof(COMMANDS[0]); |