summaryrefslogtreecommitdiff
path: root/src/syscmd.c
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2026-04-19 17:09:06 +0200
committerPeter Mikkelsen <petermikkelsen10@gmail.com>2026-04-19 17:09:06 +0200
commitc9f1161ecb323c7872559dd40c56d691dbd5959f (patch)
treebc6b974c56d55e11a78cc10bd7da399e54d307cd /src/syscmd.c
parent984ca5a2330ce29b62892321f258d5a0afb0091c (diff)
Start working on parsing/scanning.
Too many changes to list them all individually.
Diffstat (limited to 'src/syscmd.c')
-rw-r--r--src/syscmd.c51
1 files changed, 46 insertions, 5 deletions
diff --git a/src/syscmd.c b/src/syscmd.c
index 6c3d2e5..8c3a88a 100644
--- a/src/syscmd.c
+++ b/src/syscmd.c
@@ -19,18 +19,59 @@
*/
#include <config.h>
+#include <string.h>
#include "syscmd.h"
+#include "nls.h"
+
+static void syscmd_version(struct aplwc *, struct aplwc_syscmd *, char *);
+static void syscmd_exit(struct aplwc *, struct aplwc_syscmd *, char *);
+static void syscmd_stats(struct aplwc *, struct aplwc_syscmd *, char *);
static struct aplwc_syscmd syscmds[] = {
- {.name = "help"},
- {.name = "version"},
- {.name = "reset"},
- {.name = "exit"},
+ {
+ .name = "version",
+ .run = syscmd_version
+ },
+ {
+ .name = "exit",
+ .run = syscmd_exit
+ },
+ {
+ .name = "stats",
+ .run = syscmd_stats
+ },
};
void
init_syscmds(struct aplwc *aplwc)
{
- for(int i = 0; i < (sizeof(syscmds)/sizeof(*syscmds)); i++)
+ for(size_t i = 0; i < (sizeof(syscmds)/sizeof(*syscmds)); i++)
aplwc_register_syscmd(aplwc, &syscmds[i]);
}
+
+static void
+syscmd_version(struct aplwc *aplwc, struct aplwc_syscmd *syscmd, char *input)
+{
+ if(strlen(input) > 0)
+ aplwc_syscmd_error(aplwc, syscmd, _("Unexpected: %s"));
+ else
+ aplwc_syscmd_output(aplwc, syscmd, _("Version 0"));
+}
+
+static void
+syscmd_exit(struct aplwc *aplwc, struct aplwc_syscmd *syscmd, char *input)
+{
+ if(strlen(input) > 0)
+ aplwc_syscmd_error(aplwc, syscmd, _("Unexpected: %s"));
+ else
+ aplwc_exit(aplwc);
+}
+
+static void
+syscmd_stats(struct aplwc *aplwc, struct aplwc_syscmd *syscmd, char *input)
+{
+ if(strlen(input) > 0)
+ aplwc_syscmd_error(aplwc, syscmd, _("Unexpected: %s"));
+ else
+ aplwc_syscmd_output(aplwc, syscmd, _("Stats...\nMore stats..."));
+}