Print this page
9083 replace regex implementation with tre

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libc/port/regex/cname.h
          +++ new/usr/src/lib/libc/port/regex/cname.h
↓ open down ↓ 24 lines elided ↑ open up ↑
  25   25   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26   26   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27   27   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28   28   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29   29   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30   30   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31   31   * SUCH DAMAGE.
  32   32   */
  33   33  
  34   34  /* character-name table */
  35      -static struct cname {
  36      -        char *name;
  37      -        char code;
       35 +static const struct cname {
       36 +        const wchar_t *name;
       37 +        wchar_t code;
  38   38  } cnames[] = {
  39      -        {"NUL",                 '\0'},
  40      -        {"SOH",                 '\001'},
  41      -        {"STX",                 '\002'},
  42      -        {"ETX",                 '\003'},
  43      -        {"EOT",                 '\004'},
  44      -        {"ENQ",                 '\005'},
  45      -        {"ACK",                 '\006'},
  46      -        {"BEL",                 '\007'},
  47      -        {"alert",               '\007'},
  48      -        {"BS",                  '\010'},
  49      -        {"backspace",           '\b'},
  50      -        {"HT",                  '\011'},
  51      -        {"tab",                 '\t'},
  52      -        {"LF",                  '\012'},
  53      -        {"newline",             '\n'},
  54      -        {"VT",                  '\013'},
  55      -        {"vertical-tab",        '\v'},
  56      -        {"FF",                  '\014'},
  57      -        {"form-feed",           '\f'},
  58      -        {"CR",                  '\015'},
  59      -        {"carriage-return",     '\r'},
  60      -        {"SO",                  '\016'},
  61      -        {"SI",                  '\017'},
  62      -        {"DLE",                 '\020'},
  63      -        {"DC1",                 '\021'},
  64      -        {"DC2",                 '\022'},
  65      -        {"DC3",                 '\023'},
  66      -        {"DC4",                 '\024'},
  67      -        {"NAK",                 '\025'},
  68      -        {"SYN",                 '\026'},
  69      -        {"ETB",                 '\027'},
  70      -        {"CAN",                 '\030'},
  71      -        {"EM",                  '\031'},
  72      -        {"SUB",                 '\032'},
  73      -        {"ESC",                 '\033'},
  74      -        {"IS4",                 '\034'},
  75      -        {"FS",                  '\034'},
  76      -        {"IS3",                 '\035'},
  77      -        {"GS",                  '\035'},
  78      -        {"IS2",                 '\036'},
  79      -        {"RS",                  '\036'},
  80      -        {"IS1",                 '\037'},
  81      -        {"US",                  '\037'},
  82      -        {"space",               ' '},
  83      -        {"exclamation-mark",    '!'},
  84      -        {"quotation-mark",      '"'},
  85      -        {"number-sign",         '#'},
  86      -        {"dollar-sign",         '$'},
  87      -        {"percent-sign",        '%'},
  88      -        {"ampersand",           '&'},
  89      -        {"apostrophe",          '\''},
  90      -        {"left-parenthesis",    '('},
  91      -        {"right-parenthesis",   ')'},
  92      -        {"asterisk",            '*'},
  93      -        {"plus-sign",           '+'},
  94      -        {"comma",               ','},
  95      -        {"hyphen",              '-'},
  96      -        {"hyphen-minus",        '-'},
  97      -        {"period",              '.'},
  98      -        {"full-stop",           '.'},
  99      -        {"slash",               '/'},
 100      -        {"solidus",             '/'},
 101      -        {"zero",                '0'},
 102      -        {"one",                 '1'},
 103      -        {"two",                 '2'},
 104      -        {"three",               '3'},
 105      -        {"four",                '4'},
 106      -        {"five",                '5'},
 107      -        {"six",                 '6'},
 108      -        {"seven",               '7'},
 109      -        {"eight",               '8'},
 110      -        {"nine",                '9'},
 111      -        {"colon",               ':'},
 112      -        {"semicolon",           ';'},
 113      -        {"less-than-sign",      '<'},
 114      -        {"equals-sign",         '='},
 115      -        {"greater-than-sign",   '>'},
 116      -        {"question-mark",       '?'},
 117      -        {"commercial-at",       '@'},
 118      -        {"left-square-bracket", '['},
 119      -        {"backslash",           '\\'},
 120      -        {"reverse-solidus",     '\\'},
 121      -        {"right-square-bracket", ']'},
 122      -        {"circumflex",          '^'},
 123      -        {"circumflex-accent",   '^'},
 124      -        {"underscore",          '_'},
 125      -        {"low-line",            '_'},
 126      -        {"grave-accent",        '`'},
 127      -        {"left-brace",          '{'},
 128      -        {"left-curly-bracket",  '{'},
 129      -        {"vertical-line",       '|'},
 130      -        {"right-brace",         '}'},
 131      -        {"right-curly-bracket", '}'},
 132      -        {"tilde",               '~'},
 133      -        {"DEL", '\177'},
 134      -        {NULL,  0}
       39 +        {L"",                           (wchar_t)-1}, /* sentinel */
       40 +        {L"ACK",                        L'\006'},
       41 +        {L"BEL",                        L'\007'},
       42 +        {L"BS",                         L'\010'},
       43 +        {L"CAN",                        L'\030'},
       44 +        {L"CR",                         L'\015'},
       45 +        {L"DC1",                        L'\021'},
       46 +        {L"DC2",                        L'\022'},
       47 +        {L"DC3",                        L'\023'},
       48 +        {L"DC4",                        L'\024'},
       49 +        {L"DEL",                        L'\177'},
       50 +        {L"DLE",                        L'\020'},
       51 +        {L"EM",                         L'\031'},
       52 +        {L"ENQ",                        L'\005'},
       53 +        {L"EOT",                        L'\004'},
       54 +        {L"ESC",                        L'\033'},
       55 +        {L"ETB",                        L'\027'},
       56 +        {L"ETX",                        L'\003'},
       57 +        {L"FF",                         L'\014'},
       58 +        {L"FS",                         L'\034'},
       59 +        {L"GS",                         L'\035'},
       60 +        {L"HT",                         L'\011'},
       61 +        {L"IS1",                        L'\037'},
       62 +        {L"IS2",                        L'\036'},
       63 +        {L"IS3",                        L'\035'},
       64 +        {L"IS4",                        L'\034'},
       65 +        {L"LF",                         L'\012'},
       66 +        {L"NAK",                        L'\025'},
       67 +        {L"NUL",                        L'\0'},
       68 +        {L"RS",                         L'\036'},
       69 +        {L"SI",                         L'\017'},
       70 +        {L"SO",                         L'\016'},
       71 +        {L"SOH",                        L'\001'},
       72 +        {L"STX",                        L'\002'},
       73 +        {L"SUB",                        L'\032'},
       74 +        {L"SYN",                        L'\026'},
       75 +        {L"US",                         L'\037'},
       76 +        {L"VT",                         L'\013'},
       77 +        {L"alert",                      L'\007'},
       78 +        {L"ampersand",                  L'&'},
       79 +        {L"apostrophe",                 L'\''},
       80 +        {L"asterisk",                   L'*'},
       81 +        {L"backslash",                  L'\\'},
       82 +        {L"backspace",                  L'\b'},
       83 +        {L"carriage-return",            L'\r'},
       84 +        {L"circumflex",                 L'^'},
       85 +        {L"circumflex-accent",          L'^'},
       86 +        {L"colon",                      L':'},
       87 +        {L"comma",                      L','},
       88 +        {L"commercial-at",              L'@'},
       89 +        {L"dollar-sign",                L'$'},
       90 +        {L"eight",                      L'8'},
       91 +        {L"equals-sign",                L'='},
       92 +        {L"exclamation-mark",           L'!'},
       93 +        {L"five",                       L'5'},
       94 +        {L"form-feed",                  L'\f'},
       95 +        {L"four",                       L'4'},
       96 +        {L"full-stop",                  L'.'},
       97 +        {L"grave-accent",               L'`'},
       98 +        {L"greater-than-sign",          L'>'},
       99 +        {L"hyphen",                     L'-'},
      100 +        {L"hyphen-minus",               L'-'},
      101 +        {L"left-brace",                 L'{'},
      102 +        {L"left-curly-bracket",         L'{'},
      103 +        {L"left-parenthesis",           L'('},
      104 +        {L"left-square-bracket",        L'['},
      105 +        {L"less-than-sign",             L'<'},
      106 +        {L"low-line",                   L'_'},
      107 +        {L"newline",                    L'\n'},
      108 +        {L"nine",                       L'9'},
      109 +        {L"number-sign",                L'#'},
      110 +        {L"one",                        L'1'},
      111 +        {L"percent-sign",               L'%'},
      112 +        {L"period",                     L'.'},
      113 +        {L"plus-sign",                  L'+'},
      114 +        {L"question-mark",              L'?'},
      115 +        {L"quotation-mark",             L'"'},
      116 +        {L"reverse-solidus",            L'\\'},
      117 +        {L"right-brace",                L'}'},
      118 +        {L"right-curly-bracket",        L'}'},
      119 +        {L"right-parenthesis",          L')'},
      120 +        {L"right-square-bracket",       L']'},
      121 +        {L"semicolon",                  L';'},
      122 +        {L"seven",                      L'7'},
      123 +        {L"six",                        L'6'},
      124 +        {L"slash",                      L'/'},
      125 +        {L"solidus",                    L'/'},
      126 +        {L"space",                      L' '},
      127 +        {L"tab",                        L'\t'},
      128 +        {L"three",                      L'3'},
      129 +        {L"tilde",                      L'~'},
      130 +        {L"two",                        L'2'},
      131 +        {L"underscore",                 L'_'},
      132 +        {L"vertical-line",              L'|'},
      133 +        {L"vertical-tab",               L'\v'},
      134 +        {L"zero",                       L'0'},
 135  135  };
      136 +
      137 +#define NCNAMES         (sizeof (cnames)/sizeof (*cnames))
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX