static void anyof(struct wslre *r, const wchar_t **re) { int esc, old_data_size = r->data_size, op = ANYOF; if (**re == '^') { op = ANYBUT; (*re)++; } while (**re != '\0') switch (*(*re)++) { case ']': emit(r, op); emit(r, old_data_size); emit(r, r->data_size - old_data_size); return; /* NOTREACHED */ break; case '\\': esc = get_escape_char(re); if ((esc & 0xff) == 0) { store_char_in_data(r, 0); store_char_in_data(r, esc >> 16); } else {
static void exact(struct slre *r, const char **re) { int old_data_size = r->data_size; while (**re != '\0' && (strchr(meta_characters, **re)) == NULL) { store_char_in_data(r, *(*re)++); } emit(r, EXACT); emit(r, old_data_size); emit(r, r->data_size - old_data_size); }
static const char * exact(struct slre *r, const char *re) { int old_data_size = r->data_size; while (*re != '\0' && strchr(meta_chars, *re) == NULL) store_char_in_data(r, *re++); emit(r, EXACT); emit(r, old_data_size); emit(r, r->data_size - old_data_size); return re; }
static void anyof(struct slre *r, const char **re) { int esc, old_data_size = r->data_size, op = ANYOF; while (**re != '\0') switch (*(*re)++) { case ']': emit(r, op); emit(r, old_data_size); emit(r, r->data_size - old_data_size); return; // NOTREACHED break; case '\\': esc = get_escape_char(re); if ((esc & 0xff) == 0) { store_char_in_data(r, 0); store_char_in_data(r, esc >> 8); } else {
static const char * anyof(struct slre *r, const char *re) { int esc, old_data_size = r->data_size, op = ANYOF; if (*re == '^') { op = ANYBUT; re++; } while (*re != '\0') switch (*re++) { case ']': emit(r, op); emit(r, old_data_size); emit(r, r->data_size - old_data_size); return re; case '\\': esc = get_escape_char(*re++); if ((esc & 0xff) == 0) { store_char_in_data(r, 0); store_char_in_data(r, esc >> 8); } else {