Lines Matching full:sp
41 ex_next(SCR *sp, EXCMD *cmdp) in ex_next() argument
53 if (cmdp->argc == 0 && (sp->cargv == NULL || sp->cargv[1] == NULL)) { in ex_next()
54 msgq(sp, M_ERR, "111|No more files to edit"); in ex_next()
61 CHAR2INT(sp, sp->cargv[1], strlen(sp->cargv[1]) + 1, in ex_next()
63 if (argv_exp0(sp, cmdp, wp, wlen - 1)) in ex_next()
65 return (ex_edit(sp, cmdp)); in ex_next()
67 return (ex_N_next(sp, cmdp)); in ex_next()
71 if (file_m1(sp, in ex_next()
78 if (!F_ISSET(sp, SC_ARGNOFREE) && sp->argv != NULL) { in ex_next()
79 for (ap = sp->argv; *ap != NULL; ++ap) in ex_next()
81 free(sp->argv); in ex_next()
83 F_CLR(sp, SC_ARGNOFREE | SC_ARGRECOVER); in ex_next()
84 sp->cargv = NULL; in ex_next()
87 CALLOC_RET(sp, sp->argv, cmdp->argc + 1, sizeof(char *)); in ex_next()
88 for (ap = sp->argv, in ex_next()
90 INT2CHAR(sp, argv[0]->bp, argv[0]->len, np, nlen); in ex_next()
91 if ((*ap = v_strdup(sp, np, nlen)) == NULL) in ex_next()
97 sp->cargv = sp->argv; in ex_next()
98 if ((frp = file_add(sp, *sp->cargv)) == NULL) in ex_next()
103 F_SET(sp, SC_STATUS_CNT); in ex_next()
105 if ((frp = file_add(sp, sp->cargv[1])) == NULL) in ex_next()
107 if (F_ISSET(sp, SC_ARGRECOVER)) in ex_next()
112 if (file_init(sp, frp, NULL, FS_SETALT | in ex_next()
116 ++sp->cargv; in ex_next()
118 F_SET(sp, SC_FSWITCH); in ex_next()
127 ex_N_next(SCR *sp, EXCMD *cmdp) in ex_N_next() argument
135 if (screen_init(sp->gp, sp, &new)) in ex_N_next()
137 if (vs_split(sp, new, 0)) { in ex_N_next()
143 INT2CHAR(sp, cmdp->argv[0]->bp, cmdp->argv[0]->len + 1, np, nlen); in ex_N_next()
153 new->cargv = new->argv = ex_buildargv(sp, cmdp, NULL); in ex_N_next()
159 sp->nextdisp = new; in ex_N_next()
160 F_SET(sp, SC_SSWITCH); in ex_N_next()
172 ex_prev(SCR *sp, EXCMD *cmdp) in ex_prev() argument
178 if (sp->cargv == sp->argv) { in ex_prev()
179 msgq(sp, M_ERR, "112|No previous files to edit"); in ex_prev()
184 CHAR2INT(sp, sp->cargv[-1], strlen(sp->cargv[-1]) + 1, in ex_prev()
186 if (argv_exp0(sp, cmdp, wp, wlen - 1)) in ex_prev()
188 return (ex_edit(sp, cmdp)); in ex_prev()
191 if (file_m1(sp, in ex_prev()
195 if ((frp = file_add(sp, sp->cargv[-1])) == NULL) in ex_prev()
198 if (file_init(sp, frp, NULL, FS_SETALT | in ex_prev()
201 --sp->cargv; in ex_prev()
203 F_SET(sp, SC_FSWITCH); in ex_prev()
221 ex_rew(SCR *sp, EXCMD *cmdp) in ex_rew() argument
229 if (sp->argv == NULL) { in ex_rew()
230 msgq(sp, M_ERR, "113|No previous files to rewind"); in ex_rew()
234 if (file_m1(sp, in ex_rew()
239 sp->cargv = sp->argv; in ex_rew()
240 if ((frp = file_add(sp, *sp->cargv)) == NULL) in ex_rew()
242 if (file_init(sp, frp, NULL, FS_SETALT | in ex_rew()
247 F_SET(sp, SC_FSWITCH | SC_STATUS_CNT); in ex_rew()
259 ex_args(SCR *sp, EXCMD *cmdp) in ex_args() argument
265 if (sp->argv == NULL) { in ex_args()
266 (void)msgq(sp, M_ERR, "114|No file list to display"); in ex_args()
270 gp = sp->gp; in ex_args()
272 for (cnt = 1, ap = sp->argv; *ap != NULL; ++ap) { in ex_args()
273 col += len = strlen(*ap) + sep + (ap == sp->cargv ? 2 : 0); in ex_args()
274 if (col >= sp->cols - 1) { in ex_args()
277 (void)ex_puts(sp, "\n"); in ex_args()
280 (void)ex_puts(sp, " "); in ex_args()
284 (void)ex_printf(sp, "%s%s%s", ap == sp->cargv ? "[" : "", in ex_args()
285 *ap, ap == sp->cargv ? "]" : ""); in ex_args()
286 if (INTERRUPTED(sp)) in ex_args()
289 (void)ex_puts(sp, "\n"); in ex_args()
300 ex_buildargv(SCR *sp, EXCMD *cmdp, char *name) in ex_buildargv() argument
309 CALLOC(sp, s_argv, argc + 1, sizeof(char *)); in ex_buildargv()
314 if ((*ap = v_strdup(sp, name, strlen(name))) == NULL) in ex_buildargv()
319 INT2CHAR(sp, argv[0]->bp, argv[0]->len, np, nlen); in ex_buildargv()
320 if ((*ap = v_strdup(sp, np, nlen)) == NULL) in ex_buildargv()