54#define ISHEXDIGIT(x) isxdigit((unsigned char)x) 
   56#define ISHEXDIGIT(x) (isdigit(x)                       \ 
   57                            || ('a'<=(x) && (x)<='f')   \ 
   58                            || ('A'<=(x) && (x)<='F')   ) 
   61#define ISOCTDIGIT(x) ('0'<=(x) && (x)<='7') 
   91   map[
b >> 4] |= 1 << (
b & 0x0f);
 
 
   98   return map[
b >> 4] & (1 << (
b & 0x0f));
 
 
  113static int          omatch(
const char**, 
size_t*, 
const Pattern_t*, 
const char*);
 
  114static const char*  
patcmp(
const char*, 
size_t, 
const Pattern_t*, 
const char*);
 
  115static int          esc(
const char**);
 
  225   if (!
pat) 
return nullptr;
 
  226   const char* 
endp = 
nullptr;
 
  232      const char* start = str;
 
 
  256      unsigned char first = 
esc(&
src);
 
  264         unsigned char last = 
esc(&
src);
 
  265         if (first <= last)  
while (first < last ) 
SETBIT(++first, map);
 
  266         else                while (last  < first) 
SETBIT(last++,  map);
 
  271      for (
int i = 
MAPSIZE; --i >= 0;)
 
 
  287static const char *
patcmp(
const char*      str,
 
  322         const char* 
bocl = str;           
 
  341            if (str < 
bocl) 
break;
 
 
  391   default:    
if (*
slenp == 0 || *
strp == 
nullptr || (
unsigned char) **
strp != *
pat) 
return 0;
 
 
  417   return ( ((
c)-
'0')  &  0x7 );
 
 
  438static int esc(
const char** s)
 
  446      switch (
toupper((
unsigned char)**s)) {
 
  447      case '\0':  
rval = 
'\\';             
break;
 
  448      case 'B':   
rval = 
'\b';             
break;
 
  449      case 'F':   
rval = 
'\f';             
break;
 
  450      case 'N':   
rval = 
'\n';             
break;
 
  451      case 'R':   
rval = 
'\r';             
break;
 
  452      case 'S':   
rval = 
' ';              
break;
 
  453      case 'T':   
rval = 
'\t';             
break;
 
  454      case 'E':   
rval = 
'\033';           
break;
 
  493   return (
unsigned char)
rval;
 
 
int Makepat(const char *exp, Pattern_t *pat, int maxpat)
Make a pattern template from the string pointed to by exp.
 
const char * Matchs(const char *str, size_t slen, const Pattern_t *pat, const char **startpat)
Match a string with a pattern.
 
static int omatch(const char **, size_t *, const Pattern_t *, const char *)
Match one pattern element, pointed at by pat, against the character at **strp.
 
static int hex2bin(int)
Convert the hex digit represented by 'c' to an int.
 
static int TSTBIT(unsigned char b, const Pattern_t *map)
 
static const char * doccl(Pattern_t *, const char *)
Set bits in the map corresponding to characters specified in the src character class.
 
static const char * patcmp(const char *, size_t, const Pattern_t *, const char *)
Like strcmp, but compares str against pat.
 
void ADVANCE(const Pattern_t *&pat)
Advance a pointer into the pattern template to the next pattern element, this is a+1 for all pattern ...
 
static int oct2bin(int)
Convert the hex digit represented by 'c' to an int.
 
static int esc(const char **)
Map escape sequences into their equivalent symbols.
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src