Mercurial > garten
changeset 20:17b2bcc42d72 default tip
added check for empty result; minor stuff
author | meillo@marmaro.de |
---|---|
date | Sun, 27 Jul 2008 21:34:54 +0200 |
parents | eb8db0d906de |
children | |
files | db.c |
diffstat | 1 files changed, 14 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/db.c Wed Jul 23 17:44:15 2008 +0200 +++ b/db.c Sun Jul 27 21:34:54 2008 +0200 @@ -4,6 +4,11 @@ +void db_error(char* info) { + fprintf(stderr, "%s%sSQL error: %s\n", (info) ? info : "", (info) ? ": " : "", sqlite3_errmsg(db)); +} + + void db_connect() { if (sqlite3_open(database, &db) != SQLITE_OK) { fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); @@ -57,18 +62,20 @@ int read_time() { + int error; + sprintf(query, "select time from game;"); stmt = db_query(query); - if (sqlite3_step(stmt) != SQLITE_ROW) { - printf("error: %s\n", sqlite3_errmsg(db)); + error = sqlite3_step(stmt); + if (error == SQLITE_DONE) { + fprintf(stderr, "no game available\n"); + exit(1); + } + if (error != SQLITE_ROW) { + db_error("read_time"); exit(1); } gametime = sqlite3_column_int(stmt, 0); sqlite3_finalize(stmt); return gametime; } - - -void db_error(char* info) { - fprintf(stderr, "%s%sSQL error: %s\n", (info) ? info : "", (info) ? ": " : "", sqlite3_errmsg(db)); -}