003 File Manager
Current Path:
/usr/src/contrib/nvi/vi
usr
/
src
/
contrib
/
nvi
/
vi
/
📁
..
📄
extern.h
(4.47 KB)
📄
getc.c
(4.47 KB)
📄
v_at.c
(2.63 KB)
📄
v_ch.c
(5.44 KB)
📄
v_cmd.c
(12.03 KB)
📄
v_delete.c
(2.28 KB)
📄
v_ex.c
(13.78 KB)
📄
v_increment.c
(5.4 KB)
📄
v_init.c
(2.33 KB)
📄
v_itxt.c
(12.1 KB)
📄
v_left.c
(6.25 KB)
📄
v_mark.c
(5.25 KB)
📄
v_match.c
(3.87 KB)
📄
v_paragraph.c
(7.83 KB)
📄
v_put.c
(2.81 KB)
📄
v_redraw.c
(627 B)
📄
v_replace.c
(5.32 KB)
📄
v_right.c
(3.02 KB)
📄
v_screen.c
(1.34 KB)
📄
v_scroll.c
(11.57 KB)
📄
v_search.c
(13.59 KB)
📄
v_section.c
(6.21 KB)
📄
v_sentence.c
(8.21 KB)
📄
v_status.c
(658 B)
📄
v_txt.c
(76.56 KB)
📄
v_ulcase.c
(3.38 KB)
📄
v_undo.c
(4.19 KB)
📄
v_util.c
(2.85 KB)
📄
v_word.c
(12.82 KB)
📄
v_xchar.c
(2.09 KB)
📄
v_yank.c
(2.2 KB)
📄
v_z.c
(3.38 KB)
📄
v_zexit.c
(940 B)
📄
vi.c
(29.95 KB)
📄
vi.h
(15.76 KB)
📄
vs_line.c
(14.42 KB)
📄
vs_msg.c
(21.57 KB)
📄
vs_refresh.c
(23.58 KB)
📄
vs_relative.c
(6.96 KB)
📄
vs_smap.c
(27.8 KB)
📄
vs_split.c
(21.91 KB)
Editing: v_init.c
/*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. * Copyright (c) 1992, 1993, 1994, 1995, 1996 * Keith Bostic. All rights reserved. * * See the LICENSE file for redistribution information. */ #include "config.h" #include <sys/types.h> #include <sys/queue.h> #include <sys/time.h> #include <bitstring.h> #include <errno.h> #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "../common/common.h" #include "vi.h" /* * v_screen_copy -- * Copy vi screen. * * PUBLIC: int v_screen_copy(SCR *, SCR *); */ int v_screen_copy(SCR *orig, SCR *sp) { VI_PRIVATE *ovip, *nvip; /* Create the private vi structure. */ CALLOC_RET(orig, nvip, 1, sizeof(VI_PRIVATE)); sp->vi_private = nvip; /* Invalidate the line size cache. */ VI_SCR_CFLUSH(nvip); if (orig == NULL) { nvip->csearchdir = CNOTSET; } else { ovip = VIP(orig); /* User can replay the last input, but nothing else. */ if (ovip->rep_len != 0) { MALLOC_RET(orig, nvip->rep, ovip->rep_len); memmove(nvip->rep, ovip->rep, ovip->rep_len); nvip->rep_len = ovip->rep_len; } /* Copy the match characters information. */ if (ovip->mcs != NULL && (nvip->mcs = v_wstrdup(sp, ovip->mcs, STRLEN(ovip->mcs))) == NULL) return (1); /* Copy the paragraph/section information. */ if (ovip->ps != NULL && (nvip->ps = v_strdup(sp, ovip->ps, strlen(ovip->ps))) == NULL) return (1); nvip->lastckey = ovip->lastckey; nvip->csearchdir = ovip->csearchdir; nvip->srows = ovip->srows; } return (0); } /* * v_screen_end -- * End a vi screen. * * PUBLIC: int v_screen_end(SCR *); */ int v_screen_end(SCR *sp) { VI_PRIVATE *vip; if ((vip = VIP(sp)) == NULL) return (0); free(vip->keyw); free(vip->rep); free(vip->mcs); free(vip->ps); free(HMAP); free(vip); sp->vi_private = NULL; return (0); } /* * v_optchange -- * Handle change of options for vi. * * PUBLIC: int v_optchange(SCR *, int, char *, u_long *); */ int v_optchange(SCR *sp, int offset, char *str, u_long *valp) { switch (offset) { case O_MATCHCHARS: return (v_buildmcs(sp, str)); case O_PARAGRAPHS: return (v_buildps(sp, str, O_STR(sp, O_SECTIONS))); case O_SECTIONS: return (v_buildps(sp, O_STR(sp, O_PARAGRAPHS), str)); case O_WINDOW: return (vs_crel(sp, *valp)); } return (0); }
Upload File
Create Folder