From 3b27def26196cc96fe14fc8333d9e66189d6230f Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Sat, 11 Oct 2025 22:20:05 +0200 Subject: fix: doublon de evalexpr et tinyprintf dans le graph de la piscine --- graphs/piscine/evalexpr/src/evalexpr.c | 93 ---------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 graphs/piscine/evalexpr/src/evalexpr.c (limited to 'graphs/piscine/evalexpr/src/evalexpr.c') diff --git a/graphs/piscine/evalexpr/src/evalexpr.c b/graphs/piscine/evalexpr/src/evalexpr.c deleted file mode 100644 index 5012355..0000000 --- a/graphs/piscine/evalexpr/src/evalexpr.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "evalexpr.h" - -#include -#include -#include - -#define BUFFER_SIZE 10 - -char *get_input(void) -{ - size_t r; - char buf[BUFFER_SIZE]; - size_t size = 0; - char *expr = malloc(size * sizeof(char) + 1); - if (expr == NULL) - return NULL; - expr[0] = '\0'; - do - { - r = fread(buf, sizeof(char), BUFFER_SIZE - 1, stdin); - if (r != 0) - { - buf[r] = '\0'; - size += r; - char *tmp = realloc(expr, size * sizeof(char) + 1); - if (tmp == NULL) - { - free(expr); - return NULL; - } - expr = tmp; - strcat(expr, buf); - } - } while (r != 0); - if (size == 0) - { - free(expr); - return NULL; - } - if (expr[size - 1] == '\n') - expr[size - 1] = '\0'; - return expr; -} - -void cleanup(char *expr, char *rpn) -{ - free(expr); - free(rpn); -} - -int main(int argc, char **argv) -{ - if ((argc == 2 && strcmp(argv[1], "-rpn") != 0) || (argc > 2)) - return 4; - char *expr = get_input(); - if (expr == NULL) - return 4; - if (argc == 1) - { - char *rpn; - int e = shunting_yard(expr, &rpn); - if (e != 0) - return e; - // call shunting yard - int retval; - e = evalrpn(rpn, &retval); - if (e != 0) - { - cleanup(expr, rpn); - return e; - } - // FREE RPN - printf("%d\n", retval); - cleanup(expr, rpn); - // return - return 0; - } - - if (argc == 2 && strcmp(argv[1], "-rpn") == 0) - { - // call rpn eval - int retval; - int e = evalrpn(expr, &retval); - printf("%d\n", retval); - // return - free(expr); - if (e != 0) - return e; - return 0; - } - - return 4; -} -- cgit v1.2.3