LINE
#define NIL_LINE ((LINE *) 0)
extern LINE *header; /* Head of line list */
extern LINE *tail; /* Last line in line list */
extern LINE *top_line; /* First line of screen */
extern LINE *bot_line; /* Last line of screen */
extern LINE *cur_line; /* Current line in use */
LINE *proceed(LINE *line, int count);
int count_chars(LINE *line);
int find_x(LINE *line, char *address);
char *find_address(LINE *line, int x_coord, int *old_x);
void reset(LINE *head_line, int screen_y);
void display(int x_coord, int y_coord, LINE *line, int count);
void put_line(LINE *line, int offset, FLAG clear_line);
LINE *install_line(const char *buffer, int length);
LINE *line_insert(LINE *line, const char *string, int len);
int insert(LINE *line, char *location, char *string);
LINE *line_delete(LINE *line);
void delete(LINE *start_line, char *start_textp,
LINE *end_line, char *end_textp);
void yank(LINE *start_line, char *start_textp,
LINE *end_line, char *end_textp, FLAG remove);
char *substitute(LINE *line, REGEX *program, char *replacement);
int find_y(LINE *match_line);
LINE *match(REGEX *program, char *string, FLAG method);
put_line(LINE *line, int offset, FLAG clear_line)
LINE *header; /* Head of line list */
LINE *tail; /* Last line in line list */
LINE *cur_line; /* Current line in use */
LINE *top_line; /* First line of screen */
LINE *bot_line; /* Last line of screen */
LINE *line, *next_line;
LINE *line = header;
LINE *
LINE *new_line = (LINE *) alloc(sizeof(LINE));
header = tail = (LINE *) alloc(sizeof(LINE)); /* Make header of list*/
LINE *line = header->next;
LINE *line;
LINE *line;
LINE *
proceed(LINE *line, int count)
count_chars(LINE *line)
LINE *line = cur_line; /* For building new cur_line */
find_x(LINE *line, char *address)
find_address(LINE *line, int x_coord, int *old_x)
reset(LINE *head_line, int screen_y)
LINE *line;
display(int x_coord, int y_coord, LINE *line, int count)
yank(LINE *start_line, char *start_textp, LINE *end_line, char *end_textp,
LINE *line = start_line;
LINE *line = cur_line;
substitute(LINE *line, REGEX *program, char *replacement)
LINE *match_line;
find_y(LINE *match_line)
LINE *line;
LINE *
LINE *line = cur_line;
LINE *line;
LINE *
line_insert(LINE *line, const char *string, int len)
LINE *new_line;
insert(LINE *line, char *location, char *string)
LINE *
line_delete(LINE *line)
LINE *next_line = line->next;
delete(LINE *start_line, char *start_textp,
LINE *end_line, char *end_textp)
LINE *line, *stop;
LINE *mark_line; /* For marking position. */
LINE *line = cur_line;
LINE *page = cur_line;
LINE *line;
if (count++ % LINE == 0) /* Finished a line? */
sizeof(LINE));
REALLOC) * sizeof(LINE));
LINE *line;
if ((match+=(n_match=strlen(lst[i]))) > LINE) {
LINE *l; /* current line */
LINE *lnew;
LINE *l;
flush_line(LINE *l)
static LINE *line_freelist;
static LINE *
LINE *l;
if ((l = realloc(NULL, sizeof(LINE) * NALLOC)) == NULL)
memset(l, 0, sizeof(LINE));
free_line(LINE *l)
LINE *l_prev; /* previous line */
LINE *l_next; /* next line */
static LINE *alloc_line(void);
static void flush_line(LINE *);
static void free_line(LINE *);
static LINE *lines;
static void outfield(LINE *, u_long, int);
static void outoneline(INPUT *, LINE *);
static void outtwoline(INPUT *, LINE *, INPUT *, LINE *);
LINE *lp, *lastlp, tmp;
F->setalloc * sizeof(LINE))) == NULL)
memset(F->set + cnt, 0, 50 * sizeof(LINE));
cmp(LINE *lp1, u_long fieldno1, LINE *lp2, u_long fieldno2)
outoneline(INPUT *F, LINE *lp)
outtwoline(INPUT *F1, LINE *lp1, INPUT *F2, LINE *lp2)
outfield(LINE *lp, u_long fieldno, int out_empty)
LINE *set; /* set of lines with same field */
static int cmp(LINE *, u_long, LINE *, u_long);