# HG changeset patch # User David Demelier # Date 1633347009 -7200 # Node ID ea4a3af71c18808cba9c712f5e837391d183e1e8 # Parent 60a4f904da211a26ccdef4da7826eb56854cd1bd rpg: change save_stmt_next API diff -r 60a4f904da21 -r ea4a3af71c18 src/libmlk-rpg/rpg/character.c --- 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; } diff -r 60a4f904da21 -r ea4a3af71c18 src/libmlk-rpg/rpg/property.c --- 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 diff -r 60a4f904da21 -r ea4a3af71c18 src/libmlk-rpg/rpg/save.c --- 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; diff -r 60a4f904da21 -r ea4a3af71c18 src/libmlk-rpg/rpg/save.h --- 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 *, ...); diff -r 60a4f904da21 -r ea4a3af71c18 tests/test-character.c --- 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));