Use ctype(3) in a more standards-conformant way.

Fixes build on NetBSD.

Fixed: 483
Change-Id: I329eb327b67590828a3891f77a2cbbee5ec7affc
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/51705
Reviewed-by: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/crypto/asn1/a_strex.c b/crypto/asn1/a_strex.c
index 7829d67..3732894 100644
--- a/crypto/asn1/a_strex.c
+++ b/crypto/asn1/a_strex.c
@@ -574,7 +574,8 @@
 // their value, updates |v| and |len|, and returns one. Otherwise, returns
 // zero.
 static int consume_two_digits(int* out, const char **v, int *len) {
-  if (*len < 2|| !isdigit((*v)[0]) || !isdigit((*v)[1])) {
+  if (*len < 2 || !isdigit((unsigned char)((*v)[0])) ||
+      !isdigit((unsigned char)((*v)[1]))) {
     return 0;
   }
   *out = ((*v)[0] - '0') * 10 + ((*v)[1] - '0');