From 0ea3ea0458fae66bdd8776228a36deb8989101d0 Mon Sep 17 00:00:00 2001 From: Zertmark Date: Mon, 30 Sep 2024 00:06:42 +0300 Subject: [PATCH] Continue to add new functions --- src/bot.c | 5 ++++- src/database.c | 22 +++++++++------------- src/database.h | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/bot.c b/src/bot.c index 15531d5..e255117 100644 --- a/src/bot.c +++ b/src/bot.c @@ -203,7 +203,10 @@ void startBot() telebot_message_t message; telebot_update_type_e update_types[] = {TELEBOT_UPDATE_TYPE_MESSAGE}; char message_reply[MESSAGE_REPLY_SIZE]= {0}; - openDatabase("./databases/path.db"); + if (!openDatabase("./databases/path.db")) + { + return; + } while (1) { telebot_update_t *updates; diff --git a/src/database.c b/src/database.c index 3d0311d..a560ee8 100644 --- a/src/database.c +++ b/src/database.c @@ -237,23 +237,19 @@ int checkTable(const char* d_table, const char* HEADERS) return 0; } - if (bufferRowsCount!=0 && (strcmp(buffer[0], HEADERS)==0) - && checkRows()) - { - return 1; - } - return 0; + return (bufferRowsCount!=0 && (strcmp(buffer[0], HEADERS)==0) + && checkRows()); } -int checkDatabase() +int isDatabaseGood() { return checkTable("STACK", TABLE_HEADERS_STRING_STACK) && \ checkTable("FINANCE", TABLE_HEADERS_STRING_FINANCE); } -void createDatabase(char* path_to_database) +int createDatabase(char* path_to_database) { } -void openDatabase(char *path_to_database) +int openDatabase(char *path_to_database) { sqlite3_initialize(); if (access(path_to_database, F_OK || W_OK || R_OK) == -1) @@ -266,12 +262,12 @@ void openDatabase(char *path_to_database) { if (dataBase == NULL) printf("[ERROR] Not enough memory\nExiting...\n"); - return; + return 0; + printf("%s\n", sqlite3_errmsg(dataBase)); - return; + return 0; } - - createDatabase(path_to_database); + return (isDatabaseGood()) || createDatabase(path_to_database); } static int countRowsResult(sqlite3_stmt *stmt) { diff --git a/src/database.h b/src/database.h index 3e6825a..9aa995a 100644 --- a/src/database.h +++ b/src/database.h @@ -27,7 +27,7 @@ int fieldsAreNotSQLCommands(char **fieldsList, int sizeList); int fieldAndRowExist(char *dataBaseTableName, char *field, char *field_data); -void openDatabase(char *path_to_database); +int openDatabase(char *path_to_database); void printBuffer(void); int executeWriteCommand(char *command_string); int executeReadCommand(char *command_string);