Lines Matching refs:sp

42 ex_wn(SCR *sp, EXCMD *cmdp)
44 if (exwr(sp, cmdp, WN))
46 if (file_m3(sp, 0))
52 return (ex_next(sp, cmdp));
62 ex_wq(SCR *sp, EXCMD *cmdp)
66 if (exwr(sp, cmdp, WQ))
68 if (file_m3(sp, 0))
73 if (ex_ncheck(sp, force))
76 F_SET(sp, force ? SC_EXIT_FORCE : SC_EXIT);
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))
109 if (file_m3(sp, 0))
114 if (ex_ncheck(sp, force))
117 F_SET(sp, force ? SC_EXIT_FORCE : SC_EXIT);
126 exwr(SCR *sp, EXCMD *cmdp, enum which cmd)
137 NEEDFILE(sp, cmdp);
151 if (O_ISSET(sp, O_SECURE)) {
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))
166 exp = EXP(sp);
168 exp->lastbcomm = v_wstrdup(sp, cmdp->argv[1]->bp,
177 F_SET(sp, SC_EX_WAIT_YES);
184 if (ex_filter(sp, cmdp, &cmdp->addr1,
189 if (!F_ISSET(sp, SC_VI) && !F_ISSET(sp, SC_EX_SILENT))
190 (void)ex_puts(sp, "!\n");
196 if (cmdp->addr1.lno <= 1 && !db_exist(sp, cmdp->addr2.lno + 1))
209 return (file_write(sp,
213 if (argv_exp2(sp, cmdp, p, STRLEN(p)))
231 INT2CHAR(sp, cmdp->argv[1]->bp, cmdp->argv[1]->len+1,
233 name = v_strdup(sp, n, nlen - 1);
241 if (F_ISSET(sp->frp, FR_TMPFILE) &&
242 !F_ISSET(sp->frp, FR_EXNAMED)) {
243 if ((n = v_strdup(sp, name, nlen - 1)) != NULL) {
244 free(sp->frp->name);
245 sp->frp->name = n;
256 F_CLR(sp->frp, FR_TMPEXIT | FR_TMPFILE);
257 F_SET(sp->frp, FR_NAMECHANGE | FR_EXNAMED);
260 (void)sp->gp->scr_rename(sp, sp->frp->name, 1);
262 set_alt_name(sp, name);
265 INT2CHAR(sp, p, STRLEN(p) + 1, n, nlen);
266 ex_emsg(sp, n, EXM_FILECOUNT);
270 rc = file_write(sp, &cmdp->addr1, &cmdp->addr2, name, flags);
285 ex_writefp(SCR *sp, char *name, FILE *fp, MARK *fm, MARK *tm, u_long *nlno, u_long *nch, int silent)
295 gp = sp->gp;
326 if (INTERRUPTED(sp))
329 gp->scr_busy(sp, msg, msg == NULL ?
334 if (db_rget(sp, fline, &p, &len))
360 err: if (!F_ISSET(sp->ep, F_MULTILOCK))
361 msgq_str(sp, M_SYSERR, name, "%s");
367 gp->scr_busy(sp, NULL, BUSY_OFF);