1 /* 2 * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <ctype.h> 8 isalnum(int c)9int isalnum(int c) 10 { 11 return isalpha(c) || isdigit(c); 12 } 13 isalpha(int c)14int isalpha(int c) 15 { 16 return isupper(c) || islower(c); 17 } 18 iscntrl(int c)19int iscntrl(int c) 20 { 21 return c < 0x20 || c == 0x7f; 22 } 23 isdigit(int c)24int isdigit(int c) 25 { 26 return c >= '0' && c <= '9'; 27 } 28 isgraph(int c)29int isgraph(int c) 30 { 31 return c >= 0x21 && c < 0x7f; 32 } 33 islower(int c)34int islower(int c) 35 { 36 return c >= 'a' && c <= 'z'; 37 } 38 isprint(int c)39int isprint(int c) 40 { 41 return c >= 0x20 && c < 0x7f; 42 } 43 ispunct(int c)44int ispunct(int c) 45 { 46 return isgraph(c) && !isalnum(c); 47 } 48 isspace(int c)49int isspace(int c) 50 { 51 return c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v'; 52 } 53 isupper(int c)54int isupper(int c) 55 { 56 return c >= 'A' && c <= 'Z'; 57 } 58 isxdigit(int c)59int isxdigit(int c) 60 { 61 if (isdigit(c)) 62 return 1; 63 64 if (c >= 'A' && c <= 'F') 65 return 1; 66 67 if (c >= 'a' && c <= 'f') 68 return 1; 69 70 return 0; 71 } 72 tolower(int c)73int tolower(int c) 74 { 75 if (c >= 'A' && c <= 'Z') 76 return c - 'A' + 'a'; 77 78 return c; 79 } 80 toupper(int c)81int toupper(int c) 82 { 83 if (c >= 'a' && c <= 'z') 84 return c - 'a' + 'A'; 85 86 return c; 87 } 88