Lines Matching refs:cmdp
42 ex_wn(SCR *sp, EXCMD *cmdp)
44 if (exwr(sp, cmdp, WN))
50 cmdp->argc = 0;
52 return (ex_next(sp, cmdp));
62 ex_wq(SCR *sp, EXCMD *cmdp)
66 if (exwr(sp, cmdp, WQ))
71 force = FL_ISSET(cmdp->iflags, E_C_FORCE);
88 ex_write(SCR *sp, EXCMD *cmdp)
90 return (exwr(sp, cmdp, WRITE));
101 ex_xit(SCR *sp, EXCMD *cmdp)
105 NEEDFILE(sp, cmdp);
107 if (F_ISSET(sp->ep, F_MODIFIED) && exwr(sp, cmdp, XIT))
112 force = FL_ISSET(cmdp->iflags, E_C_FORCE);
126 exwr(SCR *sp, EXCMD *cmdp, enum which cmd)
137 NEEDFILE(sp, cmdp);
141 if (FL_ISSET(cmdp->iflags, E_C_FORCE))
145 if (cmdp->argc != 0)
146 for (p = cmdp->argv[0]->bp; *p != '\0' && cmdskip(*p); ++p);
149 if (cmdp->argc != 0 && cmd == WRITE && *p == '!') {
152 ex_wemsg(sp, cmdp->cmd->name, EXM_SECURE_F);
159 ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE);
162 if (argv_exp1(sp, cmdp, p, STRLEN(p), 1))
168 exp->lastbcomm = v_wstrdup(sp, cmdp->argv[1]->bp,
169 cmdp->argv[1]->len);
184 if (ex_filter(sp, cmdp, &cmdp->addr1,
185 &cmdp->addr2, &rm, cmdp->argv[1]->bp, FILTER_WRITE))
196 if (cmdp->addr1.lno <= 1 && !db_exist(sp, cmdp->addr2.lno + 1))
200 if (cmdp->argc != 0 && cmd != XIT && p[0] == '>' && p[1] == '>') {
208 if (cmdp->argc == 0 || *p == '\0')
210 &cmdp->addr1, &cmdp->addr2, NULL, flags));
213 if (argv_exp2(sp, cmdp, p, STRLEN(p)))
225 switch (cmdp->argc) {
231 INT2CHAR(sp, cmdp->argv[1]->bp, cmdp->argv[1]->len+1,
270 rc = file_write(sp, &cmdp->addr1, &cmdp->addr2, name, flags);