Fix bug where obase was triggering wrongly
diff --git a/include/num.h b/include/num.h
index c1837e3..58442e8 100644
--- a/include/num.h
+++ b/include/num.h
@@ -46,8 +46,6 @@
#define BC_NUM_MAX_INPUT_BASE (16)
-#define BC_NUM_MAX_OUTPUT_BASE (99)
-
#define BC_NUM_DEF_SIZE (16)
#define BC_NUM_FROM_CHAR(c) ((c) -'0')
diff --git a/src/bc/num.c b/src/bc/num.c
index 62ff22e..e5a0dde 100644
--- a/src/bc/num.c
+++ b/src/bc/num.c
@@ -1570,7 +1570,7 @@
if (!n || !f) return BC_STATUS_INVALID_PARAM;
- if (base_t < BC_NUM_MIN_BASE || base_t > BC_NUM_MAX_OUTPUT_BASE)
+ if (base_t < BC_NUM_MIN_BASE || base_t > BC_BASE_MAX_DEF)
return BC_STATUS_EXEC_INVALID_OBASE;
if (!n->len) {
diff --git a/src/bc/program.c b/src/bc/program.c
index 06ce70f..fe902a6 100644
--- a/src/bc/program.c
+++ b/src/bc/program.c
@@ -968,9 +968,9 @@
if (status) return status;
- max = left->type == BC_RESULT_IBASE ? 16 : p->base_max;
+ max = left->type == BC_RESULT_IBASE ? BC_NUM_MAX_INPUT_BASE : p->base_max;
- if (base < 2 || base > max)
+ if (base < BC_NUM_MIN_BASE || base > max)
return left->type - BC_RESULT_IBASE + BC_STATUS_EXEC_INVALID_IBASE;
*ptr = (size_t) base;