Lines Matching refs:orig
34 screen_init(GS *gp, SCR *orig, SCR **spp) in screen_init() argument
40 CALLOC_RET(orig, sp, 1, sizeof(SCR)); in screen_init()
60 if (orig == NULL) { in screen_init()
64 if (orig->alt_name != NULL && in screen_init()
65 (sp->alt_name = strdup(orig->alt_name)) == NULL) in screen_init()
69 if (F_ISSET(orig, SC_AT_SET)) { in screen_init()
71 sp->at_lbuf = orig->at_lbuf; in screen_init()
75 sp->searchdir = orig->searchdir == NOTSET ? NOTSET : FORWARD; in screen_init()
76 if (orig->re != NULL && (sp->re = in screen_init()
77 v_wstrdup(sp, orig->re, orig->re_len)) == NULL) in screen_init()
79 sp->re_len = orig->re_len; in screen_init()
80 if (orig->subre != NULL && (sp->subre = in screen_init()
81 v_wstrdup(sp, orig->subre, orig->subre_len)) == NULL) in screen_init()
83 sp->subre_len = orig->subre_len; in screen_init()
84 if (orig->repl != NULL && (sp->repl = in screen_init()
85 v_wstrdup(sp, orig->repl, orig->repl_len)) == NULL) in screen_init()
87 sp->repl_len = orig->repl_len; in screen_init()
88 if (orig->newl_len) { in screen_init()
89 len = orig->newl_len * sizeof(size_t); in screen_init()
92 mem: msgq(orig, M_SYSERR, NULL); in screen_init()
95 sp->newl_len = orig->newl_len; in screen_init()
96 sp->newl_cnt = orig->newl_cnt; in screen_init()
97 memcpy(sp->newl, orig->newl, len); in screen_init()
100 if (opts_copy(orig, sp)) in screen_init()
103 F_SET(sp, F_ISSET(orig, SC_EX | SC_VI)); in screen_init()
106 if (ex_screen_copy(orig, sp)) /* Ex. */ in screen_init()
108 if (v_screen_copy(orig, sp)) /* Vi. */ in screen_init()
111 conv_init(orig, sp); /* XXX */ in screen_init()