diff --git a/src/commands.c b/src/commands.c index 196fe65897fc90821918f5e88fe1cfd50ffa5232..b098144d1fead8acb66687f8430ef660918373fe 100644 --- a/src/commands.c +++ b/src/commands.c @@ -753,10 +753,10 @@ bool command_sticker_set(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS_MAX]) { RETURN_UNLESS(argv[0] && argv[1] && argv[2] && argv[3] && !argv[4], "Invalid argument", false); - int uri, value, err1, err2; - char *endptr; + long uri, value; + char *endptr, err1, err2; STRTOL(uri, argv[1], endptr, err1); - STRTOL(value, argv[4], endptr, err2); + STRTOL(value, argv[3], endptr, err2); RETURN_IF(err1 || err2, "STRTOL failed", false); LOG_INFO_SCT("COMMAND", "Client %ld is using the sticker set command", c); RETURN_UNLESS(database_sticker_set(srv->db, argv[0], argv[2], uri, value), "Failed to get sticker", false); diff --git a/src/database/stickers.c b/src/database/stickers.c index 149be88f8bc25201ec3730d49eee2ba03f8ae567..b87991e2bd87a9c67574e21b38d3b2b5170f8788 100644 --- a/src/database/stickers.c +++ b/src/database/stickers.c @@ -61,14 +61,14 @@ database_sticker_set(volatile sqlite3 *db, const char *type, const char *name, i SQL = "INSERT OR REPLACE INTO 'stickers.kara' (id, sticker, value) " "SELECT ?, 'stickers'.id, ? " - "FROM 'stickers'" - "WHERE 'stickers'.id = ?;\n"; + "FROM 'stickers' " + "WHERE 'stickers'.name = ?;"; else if (!strcasecmp(type, "plt")) SQL = "INSERT OR REPLACE INTO 'stickers.plt' (id, sticker, value) " "SELECT ?, 'stickers'.id, ? " - "FROM 'stickers'" - "WHERE 'stickers'.id = ?;\n"; + "FROM 'stickers' " + "WHERE 'stickers'.name = ?;"; else { LOG_ERROR_SCT("DB", "Type '%s' is invalid", type); return false;