From 73c2b00a10c5786ddeeacc915e233fd4df1c9321 Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Sat, 11 Oct 2025 22:19:00 +0200 Subject: fix: evalexpr & tinyprintf contenaient toute la piscine --- rushs/tinyprintf/evalexpr/src/evalexpr.c | 93 -------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 rushs/tinyprintf/evalexpr/src/evalexpr.c (limited to 'rushs/tinyprintf/evalexpr/src/evalexpr.c') diff --git a/rushs/tinyprintf/evalexpr/src/evalexpr.c b/rushs/tinyprintf/evalexpr/src/evalexpr.c deleted file mode 100644 index 5012355..0000000 --- a/rushs/tinyprintf/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