LCOV - code coverage report
Current view: top level - include/linux - ctype.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 6 16.7 %
Date: 2014-02-18 Functions: 0 0 -
Branches: 1 18 5.6 %

           Branch data     Line data    Source code
       1                 :            : #ifndef _LINUX_CTYPE_H
       2                 :            : #define _LINUX_CTYPE_H
       3                 :            : 
       4                 :            : /*
       5                 :            :  * NOTE! This ctype does not handle EOF like the standard C
       6                 :            :  * library is required to.
       7                 :            :  */
       8                 :            : 
       9                 :            : #define _U      0x01    /* upper */
      10                 :            : #define _L      0x02    /* lower */
      11                 :            : #define _D      0x04    /* digit */
      12                 :            : #define _C      0x08    /* cntrl */
      13                 :            : #define _P      0x10    /* punct */
      14                 :            : #define _S      0x20    /* white space (space/lf/tab) */
      15                 :            : #define _X      0x40    /* hex digit */
      16                 :            : #define _SP     0x80    /* hard space (0x20) */
      17                 :            : 
      18                 :            : extern const unsigned char _ctype[];
      19                 :            : 
      20                 :            : #define __ismask(x) (_ctype[(int)(unsigned char)(x)])
      21                 :            : 
      22                 :            : #define isalnum(c)      ((__ismask(c)&(_U|_L|_D)) != 0)
      23                 :            : #define isalpha(c)      ((__ismask(c)&(_U|_L)) != 0)
      24                 :            : #define iscntrl(c)      ((__ismask(c)&(_C)) != 0)
      25                 :            : #define isdigit(c)      ((__ismask(c)&(_D)) != 0)
      26                 :            : #define isgraph(c)      ((__ismask(c)&(_P|_U|_L|_D)) != 0)
      27                 :            : #define islower(c)      ((__ismask(c)&(_L)) != 0)
      28                 :            : #define isprint(c)      ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
      29                 :            : #define ispunct(c)      ((__ismask(c)&(_P)) != 0)
      30                 :            : /* Note: isspace() must return false for %NUL-terminator */
      31                 :            : #define isspace(c)      ((__ismask(c)&(_S)) != 0)
      32                 :            : #define isupper(c)      ((__ismask(c)&(_U)) != 0)
      33                 :            : #define isxdigit(c)     ((__ismask(c)&(_D|_X)) != 0)
      34                 :            : 
      35                 :            : #define isascii(c) (((unsigned char)(c))<=0x7f)
      36                 :            : #define toascii(c) (((unsigned char)(c))&0x7f)
      37                 :            : 
      38                 :            : static inline unsigned char __tolower(unsigned char c)
      39                 :            : {
      40 [ #  # ][ #  # ]:          0 :         if (isupper(c))
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      41                 :          0 :                 c -= 'A'-'a';
      42                 :            :         return c;
      43                 :            : }
      44                 :            : 
      45                 :            : static inline unsigned char __toupper(unsigned char c)
      46                 :            : {
      47         [ #  # ]:          0 :         if (islower(c))
      48                 :          0 :                 c -= 'a'-'A';
      49                 :            :         return c;
      50                 :            : }
      51                 :            : 
      52                 :            : #define tolower(c) __tolower(c)
      53                 :            : #define toupper(c) __toupper(c)
      54                 :            : 
      55                 :            : /*
      56                 :            :  * Fast implementation of tolower() for internal usage. Do not use in your
      57                 :            :  * code.
      58                 :            :  */
      59                 :            : static inline char _tolower(const char c)
      60                 :            : {
      61 [ -  + ][ #  # ]:   21175266 :         return c | 0x20;
      62                 :            : }
      63                 :            : 
      64                 :            : /* Fast check for octal digit */
      65                 :            : static inline int isodigit(const char c)
      66                 :            : {
      67                 :          0 :         return c >= '0' && c <= '7';
      68                 :            : }
      69                 :            : 
      70                 :            : #endif

Generated by: LCOV version 1.9