--- code/trunk/pcre_study.c 2010/03/19 10:26:50 509 +++ code/trunk/pcre_study.c 2010/03/27 17:45:29 510 @@ -412,6 +412,15 @@ if (utf8 && cc[-1] >= 0xc0) cc += _pcre_utf8_table4[cc[-1] & 0x3f]; #endif break; + + /* Skip these, but we need to add in the name length. */ + + case OP_MARK: + case OP_PRUNE_ARG: + case OP_SKIP_ARG: + case OP_THEN_ARG: + cc += _pcre_OP_lengths[op] + cc[1]; + break; /* For the record, these are the opcodes that are matched by "default": OP_ACCEPT, OP_CLOSE, OP_COMMIT, OP_FAIL, OP_PRUNE, OP_SET_SOM, OP_SKIP,