From 70c513e16d3b45f21cfaae7537a1b3e19ced5a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Mon, 28 Jun 2021 23:53:20 +0200 Subject: [PATCH] feat: add correct error messages for text viewer and image viewer --- image-viewer/include/image.h | 3 +++ image-viewer/src/image.c | 8 ++++++++ image-viewer/src/main.c | 2 +- text-viewer/include/text_viewer.h | 2 ++ text-viewer/src/main.c | 2 +- text-viewer/src/text_viewer.c | 9 +++++++++ 6 files changed, 24 insertions(+), 2 deletions(-) diff --git a/image-viewer/include/image.h b/image-viewer/include/image.h index 90dc3cc..07241f9 100644 --- a/image-viewer/include/image.h +++ b/image-viewer/include/image.h @@ -12,6 +12,7 @@ #include #include "direction.h" +#include "logger.h" #include "display_utils.h" typedef enum { @@ -63,6 +64,8 @@ typedef struct { */ image_t image_create(char *path); +void image_error_log(logger_t *logger, image_error_t error); + /** * @brief Clean up image data * diff --git a/image-viewer/src/image.c b/image-viewer/src/image.c index a47da42..183f045 100644 --- a/image-viewer/src/image.c +++ b/image-viewer/src/image.c @@ -1,9 +1,17 @@ #include "image.h" #include "direction.h" #include "display_utils.h" +#include "logger.h" #include +char *image_error_strings[] = { + "Success", "Unknown format", "No such file or directory", + "No permissions", "Cannot open file", "Wrong format", + "Unknown"}; +void image_error_log(logger_t *logger, image_error_t error) { + logger_error(logger, __FILE__, __FUNCTION__, __LINE__, "There was an error loading image: %s", image_error_strings[error]); +} image_t image_create(char *path) { image_t image = { diff --git a/image-viewer/src/main.c b/image-viewer/src/main.c index 26832ed..3555691 100644 --- a/image-viewer/src/main.c +++ b/image-viewer/src/main.c @@ -82,7 +82,7 @@ int main(int argc, char *argv[]) rgb_led_clear(&led, LED_RIGHT); if (viewer.error != IMERR_SUCCESS) { - logger_error(&logger, __FILE__, __FUNCTION__, __LINE__, "Could not load image %d", viewer.error); + image_error_log(&logger, viewer.error); rgb_led_set_red(&led, LED_RIGHT); return IMAGE_ERROR; } diff --git a/text-viewer/include/text_viewer.h b/text-viewer/include/text_viewer.h index 6498f95..60f6ec2 100644 --- a/text-viewer/include/text_viewer.h +++ b/text-viewer/include/text_viewer.h @@ -39,6 +39,8 @@ typedef struct { text_viewer_t text_viewer_create(char *path, mzapo_pheripherals_t pheripherals, logger_t *logger, font_t font); +void file_error_log(logger_t *logger, file_error_t error); + /** * @brief Cleans up text viewer data * diff --git a/text-viewer/src/main.c b/text-viewer/src/main.c index cdebd20..2972db6 100644 --- a/text-viewer/src/main.c +++ b/text-viewer/src/main.c @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) { "Loading file"); file_error_t error = text_viewer_load_file(&text_viewer); if (error != FILER_SUCCESS) { - logger_error(&logger, __FILE__, __FUNCTION__, __LINE__, "Could not load file."); + file_error_log(&logger, error); rgb_led_set_red(&rgb_leds, LED_RIGHT); return ERROR_CANT_OPEN_FILE; } diff --git a/text-viewer/src/text_viewer.c b/text-viewer/src/text_viewer.c index ea26d50..5c51793 100644 --- a/text-viewer/src/text_viewer.c +++ b/text-viewer/src/text_viewer.c @@ -7,6 +7,7 @@ #include "gui_component_text_view.h" #include "input.h" #include "keyboard_const.h" +#include "logger.h" #include "mzapo_led_strip.h" #include "mzapo_rgb_led.h" #include "renderer.h" @@ -17,6 +18,14 @@ #include #include +char *file_error_strings[] = {"Success", "No such file or directory", + "No permissions", "Cannot open file", + "Cannot read file", "Unknown"}; + +void file_error_log(logger_t *logger, file_error_t error) { + logger_error(logger, __FILE__, __FUNCTION__, __LINE__, "There was an error loading file: %s", file_error_strings[error]); +} + text_viewer_t text_viewer_create(char *path, mzapo_pheripherals_t pheripherals, logger_t *logger, font_t font) { text_viewer_t text_viewer = {.pheripherals = pheripherals, -- 2.48.1