| 5313 | } |
| 5314 | |
| 5315 | static void |
| 5316 | cache_fplookup_parse_advance(struct cache_fpl *fpl) |
| 5317 | { |
| 5318 | struct nameidata *ndp; |
| 5319 | struct componentname *cnp; |
| 5320 | |
| 5321 | ndp = fpl->ndp; |
| 5322 | cnp = fpl->cnp; |
| 5323 | |
| 5324 | cnp->cn_nameptr = ndp->ni_next; |
| 5325 | KASSERT(*(cnp->cn_nameptr) == '/', |
| 5326 | ("%s: should have seen slash at %p ; buf %p [%s]\n", __func__, |
| 5327 | cnp->cn_nameptr, cnp->cn_pnbuf, cnp->cn_pnbuf)); |
| 5328 | cnp->cn_nameptr++; |
| 5329 | cache_fpl_pathlen_dec(fpl); |
| 5330 | } |
| 5331 | |
| 5332 | /* |
| 5333 | * Skip spurious slashes in a pathname (e.g., "foo///bar") and retry. |
no test coverage detected