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;