diff database.c @ 42:62361336c415

pasterd: return false when we don't find a paste
author David Demelier <markand@malikania.fr>
date Fri, 14 Feb 2020 14:16:31 +0100
parents 48834441dc86
children a2789cb8ebe6
line wrap: on
line diff
--- a/database.c	Thu Feb 13 12:05:00 2020 +0100
+++ b/database.c	Fri Feb 14 14:16:31 2020 +0100
@@ -244,11 +244,12 @@
 	assert(paste);
 	assert(uuid);
 
+	sqlite3_stmt* stmt = NULL;
+	bool found = false;
+
 	memset(paste, 0, sizeof (struct paste));
 	log_debug("database: accessing paste with uuid: %s", uuid);
 
-	sqlite3_stmt* stmt = NULL;
-
 	if (sqlite3_prepare(db, sql_get, -1, &stmt, NULL) != SQLITE_OK ||
 	    sqlite3_bind_text(stmt, 1, uuid, -1, NULL) != SQLITE_OK)
 		goto sqlite_err;
@@ -256,6 +257,7 @@
 	switch (sqlite3_step(stmt)) {
 	case SQLITE_ROW:
 		convert(stmt, paste);
+		found = true;
 		break;
 	case SQLITE_MISUSE:
 	case SQLITE_ERROR:
@@ -266,7 +268,7 @@
 
 	sqlite3_finalize(stmt);
 
-	return true;
+	return found;
 
 sqlite_err:
 	if (stmt)