rm_so             579 lib/common/rules.c             || (submatches[submatch].rm_so < 0)   // Pattern did not match
rm_so             581 lib/common/rules.c                 <= submatches[submatch].rm_so)) { // Match was empty
rm_so             585 lib/common/rules.c         match_len = submatches[submatch].rm_eo - submatches[submatch].rm_so;
rm_so             590 lib/common/rules.c             memcpy(expansion, match + submatches[submatch].rm_so,
rm_so              27 lib/common/tests/rules/pcmk__evaluate_attr_expression_test.c     { .rm_so = 0, .rm_eo = 12 }, // %0 = Entire string
rm_so              28 lib/common/tests/rules/pcmk__evaluate_attr_expression_test.c     { .rm_so = 7, .rm_eo = 12 }, // %1 = "north"
rm_so              20 lib/common/tests/rules/pcmk__replace_submatches_test.c     { .rm_so = 0, .rm_eo = 16 },    // %0 = entire string
rm_so              21 lib/common/tests/rules/pcmk__replace_submatches_test.c     { .rm_so = 5, .rm_eo = 7 },     // %1 = "is"
rm_so              22 lib/common/tests/rules/pcmk__replace_submatches_test.c     { .rm_so = 9, .rm_eo = 9 },     // %2 = empty match