Commit 255271ed98af8ca681b139ba27dba5eaaf9ca13e

Steffen Jaeckel 2019-03-26T17:46:36

Merge pull request #179 from libtom/avoid-ctype avoid ctype toupper

diff --git a/bn_mp_read_radix.c b/bn_mp_read_radix.c
index 1179b7b..5c3a5c6 100644
--- a/bn_mp_read_radix.c
+++ b/bn_mp_read_radix.c
@@ -12,6 +12,8 @@
  * SPDX-License-Identifier: Unlicense
  */
 
+#define MP_TOUPPER(c) ((c) >= 'a' && (c) <= 'z' ? (c) + 'A' - 'a' : (c))
+
 /* read a string [ASCII] in a given radix */
 int mp_read_radix(mp_int *a, const char *str, int radix)
 {
@@ -46,7 +48,7 @@ int mp_read_radix(mp_int *a, const char *str, int radix)
        * this allows numbers like 1AB and 1ab to represent the same  value
        * [e.g. in hex]
        */
-      ch = (radix <= 36) ? (char)toupper((int)*str) : *str;
+      ch = (radix <= 36) ? (char)MP_TOUPPER((int)*str) : *str;
       pos = (unsigned)(ch - '(');
       if (mp_s_rmap_reverse_sz < pos) {
          break;
diff --git a/tommath_private.h b/tommath_private.h
index ecd3447..7d62c1e 100644
--- a/tommath_private.h
+++ b/tommath_private.h
@@ -13,7 +13,6 @@
 #define TOMMATH_PRIV_H_
 
 #include "tommath.h"
-#include <ctype.h>
 
 #ifndef MIN
 #define MIN(x, y) (((x) < (y)) ? (x) : (y))