These macros allow correct support of 8-bit characters on systems which support 8-bit characters. Pretty dumb how the cast is required, but that's legacy libc for ya. These new macros do not support EOF like the standard macros do. Tough. 
◆ apr_isalnum
      
        
          | #define apr_isalnum | 
          ( | 
            | 
          c | ) | 
             (isalnum(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isalpha
      
        
          | #define apr_isalpha | 
          ( | 
            | 
          c | ) | 
             (isalpha(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isascii
      
        
          | #define apr_isascii | 
          ( | 
            | 
          c | ) | 
             (((c) & ~0x7f)==0) | 
        
      
 
 
◆ apr_iscntrl
      
        
          | #define apr_iscntrl | 
          ( | 
            | 
          c | ) | 
             (iscntrl(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isdigit
      
        
          | #define apr_isdigit | 
          ( | 
            | 
          c | ) | 
             (isdigit(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isgraph
      
        
          | #define apr_isgraph | 
          ( | 
            | 
          c | ) | 
             (isgraph(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_islower
      
        
          | #define apr_islower | 
          ( | 
            | 
          c | ) | 
             (islower(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isprint
      
        
          | #define apr_isprint | 
          ( | 
            | 
          c | ) | 
             (isprint(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_ispunct
      
        
          | #define apr_ispunct | 
          ( | 
            | 
          c | ) | 
             (ispunct(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isspace
      
        
          | #define apr_isspace | 
          ( | 
            | 
          c | ) | 
             (isspace(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isupper
      
        
          | #define apr_isupper | 
          ( | 
            | 
          c | ) | 
             (isupper(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_isxdigit
      
        
          | #define apr_isxdigit | 
          ( | 
            | 
          c | ) | 
             (isxdigit(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_tolower
      
        
          | #define apr_tolower | 
          ( | 
            | 
          c | ) | 
             (tolower(((unsigned char)(c)))) | 
        
      
 
 
◆ apr_toupper
      
        
          | #define apr_toupper | 
          ( | 
            | 
          c | ) | 
             (toupper(((unsigned char)(c)))) |