Index: lib/libc/regex/engine.c =================================================================== --- lib/libc/regex/engine.c +++ lib/libc/regex/engine.c @@ -789,7 +789,8 @@ ASSIGN(fresh, st); SP("start", st, *p); coldp = NULL; - if (start == m->beginp) + if (start == m->offp || (start == m->beginp && + !(m->eflags & REG_NOTBOL))) c = OUT; else { /* @@ -894,7 +895,8 @@ SP("sstart", st, *p); st = step(m->g, startst, stopst, st, NOTHING, st); matchp = NULL; - if (start == m->beginp) + if (start == m->offp || (start == m->beginp && + !(m->eflags & REG_NOTBOL))) c = OUT; else { /*