Pre-compile the token_RE regular expression.
| 141 | |
| 142 | // Pre-compile the token_RE regular expression. |
| 143 | static regex_t *precompile(void) |
| 144 | { |
| 145 | regex_t *re = malloc(sizeof(regex_t)); |
| 146 | int errcode = regcomp(re, token_RE, REG_EXTENDED|REG_NEWLINE); |
| 147 | if (errcode) { // Really should never happen... |
| 148 | char buf[BUFSIZ]; |
| 149 | regerror(errcode, re, buf, sizeof(buf)); |
| 150 | fprintf(stderr, "(F) Pattern for token_RE does not compile.\n"); |
| 151 | regfree(re); |
| 152 | free(re); |
| 153 | exit(1); |
| 154 | } |
| 155 | return re; |
| 156 | } |
| 157 | |
| 158 | static regex_t *compiled_token_RE; |
| 159 |