From 96f30bdae883482a9e9f41244df6653375ddd275 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Fri, 10 Apr 2020 16:35:00 +0200 Subject: [PATCH] Sticker set command --- src/commands.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/commands.c b/src/commands.c index 3518613e..a58f3d8b 100644 --- a/src/commands.c +++ b/src/commands.c @@ -1126,13 +1126,28 @@ command_sticker_get(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS return true; } -// bool -// command_sticker_set(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS_MAX]) -// { -// } -// -// bool -// command_sticker_delete(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS_MAX]) -// { -// } -// +bool +command_sticker_set(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS_MAX]) +{ + if (argv[0] == NULL || argv[1] == NULL || argv[2] == NULL || argv[3] == NULL || argv[4] != NULL) { + fprintf(stderr, " ! command_sticker_get: Invalid argument, need only 3 arguments\n"); + return false; + } + + int uri = atoi(argv[1]); /* FIXME: Use strtol. */ + int value = atoi(argv[4]); /* FIXME: Use strtol. */ + + if (!database_sticker_set(srv->db, argv[0], argv[2], uri, value)) { + fprintf(stderr, " . command_sticker_get: Failed to get sticker '%s' to value %d for object " + "%s(%d)\n", argv[2], value, argv[0], uri); + return false; + } + + return true; +} + +bool +command_sticker_delete(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS_MAX]) +{ +} + -- GitLab