}
ec = fsm->rc = 0;
- rc = fsmStage(fsm, FSM_CREATE);
+ rc = fsmNext(fsm, FSM_CREATE);
if (rc && !ec) ec = rc;
- rc = fsmStage(fsm, fsm->goal);
+ rc = fsmNext(fsm, fsm->goal);
if (rc && !ec) ec = rc;
/*@-boundswrite@*/
int rc = fsm->rc;
if (!rc)
- rc = fsmStage(fsm, FSM_DESTROY);
+ rc = fsmNext(fsm, FSM_DESTROY);
fsm->iter = mapFreeIterator(fsm->iter);
if (fsm->cfd != NULL) {
* I don't think that's a specified standard.
*/
/* XXX NUL terminated result in fsm->rdbuf, len in fsm->rdnb. */
- rc = fsmStage(fsm, FSM_READLINK);
+ rc = fsmNext(fsm, FSM_READLINK);
if (rc) goto exit;
st->st_size = fsm->rdnb;
symbuf = alloca_strdup(fsm->rdbuf); /* XXX save readlink return. */
/*@=usedef =compdef =nullpass =nullderef@*/
/* Validate next component of path. */
- rc = fsmStage(fsm, FSM_LSTAT);
+ rc = fsmUNSAFE(fsm, FSM_LSTAT);
*te = '/';
/* Directory already exists? */
if (fsm->path != NULL) {
int saveernno = errno;
- rc = fsmStage(fsm, (!(fsm->mapFlags & CPIO_FOLLOW_SYMLINKS)
+ rc = fsmNext(fsm, (!(fsm->mapFlags & CPIO_FOLLOW_SYMLINKS)
? FSM_LSTAT : FSM_STAT));
if (rc == CPIOERR_LSTAT_FAILED && errno == ENOENT) {
errno = saveerrno;
} else if (S_ISLNK(st->st_mode)) {
if (S_ISLNK(ost->st_mode)) {
/* XXX NUL terminated result in fsm->rdbuf, len in fsm->rdnb. */
- rc = fsmStage(fsm, FSM_READLINK);
+ rc = fsmNext(fsm, FSM_READLINK);
errno = saveerrno;
if (rc) break;
if (!strcmp(fsm->opath, fsm->rdbuf)) return 0;
break;
case FSM_NEXT:
- rc = fsmStage(fsm, FSM_HREAD);
+ rc = fsmNext(fsm, FSM_HREAD);
if (rc) break;
if (!strcmp(fsm->path, CPIO_TRAILER)) { /* Detect end-of-payload. */
fsm->path = _free(fsm->path);