From 3d6f78e29a18523aab0f39c0481f32bbe78dc361 Mon Sep 17 00:00:00 2001 From: SuperNovaa41 Date: Fri, 7 Mar 2025 01:35:20 -0500 Subject: [PATCH] adds the remove function' --- src/db.c | 27 ++++++++++++++++++++++++++- src/include/db.h | 3 +++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/db.c b/src/db.c index 8a1533d..e18110b 100644 --- a/src/db.c +++ b/src/db.c @@ -138,8 +138,33 @@ void add_to_db(book_t* book, sqlite3* db) } sqlite3_close(db); + free(cmd); +} +#undef INSERT_STR +#define DEL_STR "DELETE FROM books WHERE id = " +void remove_from_db(int id, sqlite3* db) +{ + int err; + char *cmd, *err_msg; + + open_db(&db); + + cmd = malloc(sizeof(char) * (strlen(DEL_STR) + 1)); + snprintf(cmd, strlen(DEL_STR), "%s", DEL_STR); + + add_int_entry(&cmd, id, true); + + err = sqlite3_exec(db, cmd, 0, 0, &err_msg); + if (err != SQLITE_OK) { + fprintf(stderr, "sqlite3_exec: %s\n", err_msg); + sqlite3_free(err_msg); + sqlite3_close(db); + exit(EXIT_FAILURE); + } + + sqlite3_close(db); free(cmd); } -#undef INSERT_STR +#undef DEL_STR diff --git a/src/include/db.h b/src/include/db.h index 9fa1c6a..c0a7952 100644 --- a/src/include/db.h +++ b/src/include/db.h @@ -16,4 +16,7 @@ void setup_db(sqlite3* db); void add_to_db(book_t* book, sqlite3* db); +void remove_from_db(int id, sqlite3* db); + + #endif