avoid ctype toupper

- libc toupper is locale dependent
- removes the dependency on ctype.h
This commit is contained in:
Daniel Mendler 2019-03-23 02:38:01 +01:00 committed by Steffen Jaeckel
parent f3ff7064f3
commit 32099fdef1
2 changed files with 3 additions and 2 deletions

View File

@ -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;

View File

@ -13,7 +13,6 @@
#define TOMMATH_PRIV_H_
#include "tommath.h"
#include <ctype.h>
#ifndef MIN
#define MIN(x, y) (((x) < (y)) ? (x) : (y))