Mercurial > molko
changeset 329:ea4a3af71c18
rpg: change save_stmt_next API
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 04 Oct 2021 13:30:09 +0200 |
parents | 60a4f904da21 |
children | e0657709fbe3 |
files | src/libmlk-rpg/rpg/character.c src/libmlk-rpg/rpg/property.c src/libmlk-rpg/rpg/save.c src/libmlk-rpg/rpg/save.h tests/test-character.c |
diffstat | 5 files changed, 12 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/libmlk-rpg/rpg/character.c Mon Oct 04 13:10:11 2021 +0200 +++ b/src/libmlk-rpg/rpg/character.c Mon Oct 04 13:30:09 2021 +0200 @@ -98,9 +98,9 @@ assert(save_ok(s)); struct save_stmt stmt; - int ret; + enum save_stmt_errno ret; - if (save_stmt_init(s, &stmt, (const char *)assets_sql_character_load, "s", ch->name) < 0) + if (save_stmt_init(&stmt, s, (const char *)assets_sql_character_load, "s", ch->name) < 0) return -1; ret = save_stmt_next(&stmt, "iii i iiiiii", @@ -114,9 +114,9 @@ &ch->defbonus, &ch->agtbonus, &ch->luckbonus - ); + ) == SAVE_STMT_ROW; save_stmt_finish(&stmt); - return 0; + return ret ? 0 : -1; }
--- a/src/libmlk-rpg/rpg/property.c Mon Oct 04 13:10:11 2021 +0200 +++ b/src/libmlk-rpg/rpg/property.c Mon Oct 04 13:30:09 2021 +0200 @@ -41,23 +41,15 @@ assert(save_ok(s)); struct save_stmt stmt; - int ret; + enum save_stmt_errno ret; - if (save_stmt_init(s, &stmt, (const char *)assets_sql_property_load, "s", p->key) < 0) + if (save_stmt_init(&stmt, s, (const char *)assets_sql_property_load, "s", p->key) < 0) return -1; - switch (save_stmt_next(&stmt, "s", p->value, sizeof (p->value))) { - case SAVE_STMT_DONE: - case SAVE_STMT_ERROR: - ret = -1; - break; - default: - ret = 0; - } - + ret = save_stmt_next(&stmt, "s", p->value, sizeof (p->value)) == SAVE_STMT_ROW; save_stmt_finish(&stmt); - return ret; + return ret ? 0 : -1; } int
--- a/src/libmlk-rpg/rpg/save.c Mon Oct 04 13:10:11 2021 +0200 +++ b/src/libmlk-rpg/rpg/save.c Mon Oct 04 13:30:09 2021 +0200 @@ -241,10 +241,10 @@ } int -save_stmt_init(struct save *db, struct save_stmt *stmt, const char *sql, const char *args, ...) +save_stmt_init(struct save_stmt *stmt, struct save *db, const char *sql, const char *args, ...) { + assert(stmt); assert(save_ok(db)); - assert(stmt); assert(args); va_list ap;
--- a/src/libmlk-rpg/rpg/save.h Mon Oct 04 13:10:11 2021 +0200 +++ b/src/libmlk-rpg/rpg/save.h Mon Oct 04 13:30:09 2021 +0200 @@ -64,7 +64,7 @@ /* Prepared statements. */ int -save_stmt_init(struct save *, struct save_stmt *, const char *, const char *, ...); +save_stmt_init(struct save_stmt *, struct save *, const char *, const char *, ...); enum save_stmt_errno save_stmt_next(struct save_stmt *, const char *, ...);
--- a/tests/test-character.c Mon Oct 04 13:10:11 2021 +0200 +++ b/tests/test-character.c Mon Oct 04 13:30:09 2021 +0200 @@ -52,7 +52,7 @@ }; GREATEST_ASSERT(save_open_path(&db, "test.db", SAVE_MODE_WRITE) == 0); - GREATEST_ASSERT(character_save(&ch, &db)); + GREATEST_ASSERT(character_save(&ch, &db) == 0); /* Restore. */ memset(&ch, 0, sizeof (ch));