- return 0;
-}
-
-struct ww *
-openwin(id, row, col, nrow, ncol, nline)
-int id, nrow, ncol, row, col;
-{
- register struct ww *w;
-
- if (id < 0 && (id = findid()) < 0)
- return 0;
- if (row + nrow <= 0 || row > wwnrow - 1
- || col + ncol <= 0 || col > wwncol - 1) {
- error("Illegal window size or position.");
- return 0;
- }
- if ((w = wwopen(WWO_PTY, nrow, ncol, row, col, nline)) == 0) {
- error("%s.", wwerror());
- return 0;
- }
- w->ww_id = id;
- window[id] = w;
- w->ww_hasframe = 1;
- wwcursor(w, 1);
- wwadd(w, framewin);
- selwin = w;
- reframe(); /* setselwin() won't do it */
- wwupdate();
- wwflush();
- switch (wwfork(w)) {
- case -1:
- c_close(w);
- error("%s.", wwerror());
- return 0;
- case 0:
- execl(shell, shellname, 0);
- perror(shell);
- exit(1);
- }
- return w;