/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/12 10:37:12 by dkaiser #+# #+# */
-/* Updated: 2025/02/12 11:29:15 by dkaiser ### ########.fr */
+/* Updated: 2025/02/12 13:38:42 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
void Harl::complain(std::string level)
{
std::string levels[4] = {"DEBUG", "INFO", "WARNING", "ERROR"};
- void (Harl::*funcs[4])() = {&Harl::debug,
- &Harl::info,
- &Harl::warning,
- &Harl::error};
- for (int i = 0; i < 4; i++)
+
+ int i = 0;
+ while (level != levels[i])
{
- if (level == levels[i])
- (this->*funcs[i])();
+ if (i > 3)
+ break;
+ i++;
+ }
+ switch (i)
+ {
+ case 0:
+ this->debug();
+ case 1:
+ this->info();
+ case 2:
+ this->warning();
+ case 3:
+ this->error();
+ break;
+ default:
+ std::cout << "[ Probably complaining ";
+ std::cout << "about insignificant problems ]" << std::endl;
+ break;
}
}
################################## VARIABLES ###################################
################################################################################
-NAME := harl
+NAME := harlFilter
CC = c++
CFLAGS = -Wall -Wextra -Werror -std=c++17
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/12 10:35:53 by dkaiser #+# #+# */
-/* Updated: 2025/02/12 11:35:27 by dkaiser ### ########.fr */
+/* Updated: 2025/02/12 13:32:01 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
#include "Harl.hpp"
-int main(void)
+int main(int argc, char *argv[])
{
Harl harl = Harl();
- harl.complain("DEBUG");
- harl.complain("INFO");
- harl.complain("WARNING");
- harl.complain("ERROR");
- harl.complain("Invalid Input");
+ if (argc != 2)
+ return 1;
+
+ harl.complain(argv[1]);
}