mirror of
https://github.com/rfivet/uemacs.git
synced 2025-09-25 06:34:07 -04:00
Run "indent -kr -i8" on the sources
Let's see how nasty it is to clean things up. For real.
This commit is contained in:
565
buffer.c
565
buffer.c
@@ -21,29 +21,29 @@
|
||||
*/
|
||||
usebuffer(f, n)
|
||||
{
|
||||
register BUFFER *bp;
|
||||
register int s;
|
||||
char bufn[NBUFN];
|
||||
register BUFFER *bp;
|
||||
register int s;
|
||||
char bufn[NBUFN];
|
||||
|
||||
if ((s=mlreply("Use buffer: ", bufn, NBUFN)) != TRUE)
|
||||
return (s);
|
||||
if ((bp=bfind(bufn, TRUE, 0)) == NULL)
|
||||
return (FALSE);
|
||||
return(swbuffer(bp));
|
||||
if ((s = mlreply("Use buffer: ", bufn, NBUFN)) != TRUE)
|
||||
return (s);
|
||||
if ((bp = bfind(bufn, TRUE, 0)) == NULL)
|
||||
return (FALSE);
|
||||
return (swbuffer(bp));
|
||||
}
|
||||
|
||||
nextbuffer(f, n) /* switch to the next buffer in the buffer list */
|
||||
|
||||
int f, n; /* default flag, numeric argument */
|
||||
nextbuffer(f, n)
|
||||
/* switch to the next buffer in the buffer list */
|
||||
int f, n; /* default flag, numeric argument */
|
||||
{
|
||||
register BUFFER *bp; /* eligable buffer to switch to*/
|
||||
register BUFFER *bbp; /* eligable buffer to switch to*/
|
||||
register BUFFER *bp; /* eligable buffer to switch to */
|
||||
register BUFFER *bbp; /* eligable buffer to switch to */
|
||||
|
||||
/* make sure the arg is legit */
|
||||
if (f == FALSE)
|
||||
n = 1;
|
||||
if (n < 1)
|
||||
return(FALSE);
|
||||
return (FALSE);
|
||||
|
||||
bbp = curbp;
|
||||
while (n-- > 0) {
|
||||
@@ -59,60 +59,60 @@ int f, n; /* default flag, numeric argument */
|
||||
|
||||
/* don't get caught in an infinite loop! */
|
||||
if (bp == bbp)
|
||||
return(FALSE);
|
||||
return (FALSE);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
bbp = bp;
|
||||
}
|
||||
|
||||
return(swbuffer(bp));
|
||||
return (swbuffer(bp));
|
||||
}
|
||||
|
||||
swbuffer(bp) /* make buffer BP current */
|
||||
|
||||
swbuffer(bp)
|
||||
/* make buffer BP current */
|
||||
BUFFER *bp;
|
||||
|
||||
{
|
||||
register WINDOW *wp;
|
||||
register WINDOW *wp;
|
||||
|
||||
if (--curbp->b_nwnd == 0) { /* Last use. */
|
||||
curbp->b_dotp = curwp->w_dotp;
|
||||
curbp->b_doto = curwp->w_doto;
|
||||
curbp->b_markp = curwp->w_markp;
|
||||
curbp->b_marko = curwp->w_marko;
|
||||
}
|
||||
curbp = bp; /* Switch. */
|
||||
if (curbp->b_active != TRUE) { /* buffer not active yet*/
|
||||
if (--curbp->b_nwnd == 0) { /* Last use. */
|
||||
curbp->b_dotp = curwp->w_dotp;
|
||||
curbp->b_doto = curwp->w_doto;
|
||||
curbp->b_markp = curwp->w_markp;
|
||||
curbp->b_marko = curwp->w_marko;
|
||||
}
|
||||
curbp = bp; /* Switch. */
|
||||
if (curbp->b_active != TRUE) { /* buffer not active yet */
|
||||
/* read it in and activate it */
|
||||
readin(curbp->b_fname, TRUE);
|
||||
curbp->b_dotp = lforw(curbp->b_linep);
|
||||
curbp->b_doto = 0;
|
||||
curbp->b_active = TRUE;
|
||||
curbp->b_mode |= gmode; /* P.K. */
|
||||
curbp->b_mode |= gmode; /* P.K. */
|
||||
}
|
||||
curwp->w_bufp = bp;
|
||||
curwp->w_linep = bp->b_linep; /* For macros, ignored. */
|
||||
curwp->w_flag |= WFMODE|WFFORCE|WFHARD; /* Quite nasty. */
|
||||
if (bp->b_nwnd++ == 0) { /* First use. */
|
||||
curwp->w_dotp = bp->b_dotp;
|
||||
curwp->w_doto = bp->b_doto;
|
||||
curwp->w_markp = bp->b_markp;
|
||||
curwp->w_bufp = bp;
|
||||
curwp->w_linep = bp->b_linep; /* For macros, ignored. */
|
||||
curwp->w_flag |= WFMODE | WFFORCE | WFHARD; /* Quite nasty. */
|
||||
if (bp->b_nwnd++ == 0) { /* First use. */
|
||||
curwp->w_dotp = bp->b_dotp;
|
||||
curwp->w_doto = bp->b_doto;
|
||||
curwp->w_markp = bp->b_markp;
|
||||
curwp->w_marko = bp->b_marko;
|
||||
cknewwindow();
|
||||
return (TRUE);
|
||||
}
|
||||
wp = wheadp; /* Look for old. */
|
||||
while (wp != NULL) {
|
||||
if (wp!=curwp && wp->w_bufp==bp) {
|
||||
curwp->w_dotp = wp->w_dotp;
|
||||
curwp->w_doto = wp->w_doto;
|
||||
curwp->w_markp = wp->w_markp;
|
||||
curwp->w_marko = wp->w_marko;
|
||||
break;
|
||||
}
|
||||
wp = wp->w_wndp;
|
||||
}
|
||||
return (TRUE);
|
||||
}
|
||||
wp = wheadp; /* Look for old. */
|
||||
while (wp != NULL) {
|
||||
if (wp != curwp && wp->w_bufp == bp) {
|
||||
curwp->w_dotp = wp->w_dotp;
|
||||
curwp->w_doto = wp->w_doto;
|
||||
curwp->w_markp = wp->w_markp;
|
||||
curwp->w_marko = wp->w_marko;
|
||||
break;
|
||||
}
|
||||
wp = wp->w_wndp;
|
||||
}
|
||||
cknewwindow();
|
||||
return (TRUE);
|
||||
}
|
||||
@@ -126,63 +126,63 @@ BUFFER *bp;
|
||||
* line and the buffer header. Bound to "C-X K".
|
||||
*/
|
||||
killbuffer(f, n)
|
||||
|
||||
{
|
||||
register BUFFER *bp;
|
||||
register int s;
|
||||
char bufn[NBUFN];
|
||||
register int s;
|
||||
char bufn[NBUFN];
|
||||
|
||||
if ((s=mlreply("Kill buffer: ", bufn, NBUFN)) != TRUE)
|
||||
return(s);
|
||||
if ((bp=bfind(bufn, FALSE, 0)) == NULL) /* Easy if unknown. */
|
||||
return (TRUE);
|
||||
if(bp->b_flag & BFINVS) /* Deal with special buffers */
|
||||
return (TRUE); /* by doing nothing. */
|
||||
return(zotbuf(bp));
|
||||
if ((s = mlreply("Kill buffer: ", bufn, NBUFN)) != TRUE)
|
||||
return (s);
|
||||
if ((bp = bfind(bufn, FALSE, 0)) == NULL) /* Easy if unknown. */
|
||||
return (TRUE);
|
||||
if (bp->b_flag & BFINVS) /* Deal with special buffers */
|
||||
return (TRUE); /* by doing nothing. */
|
||||
return (zotbuf(bp));
|
||||
}
|
||||
|
||||
zotbuf(bp) /* kill the buffer pointed to by bp */
|
||||
|
||||
zotbuf(bp)
|
||||
/* kill the buffer pointed to by bp */
|
||||
register BUFFER *bp;
|
||||
|
||||
{
|
||||
register BUFFER *bp1;
|
||||
register BUFFER *bp2;
|
||||
register int s;
|
||||
register BUFFER *bp1;
|
||||
register BUFFER *bp2;
|
||||
register int s;
|
||||
|
||||
if (bp->b_nwnd != 0) { /* Error if on screen. */
|
||||
mlwrite("Buffer is being displayed");
|
||||
return (FALSE);
|
||||
}
|
||||
if ((s=bclear(bp)) != TRUE) /* Blow text away. */
|
||||
return (s);
|
||||
free((char *) bp->b_linep); /* Release header line. */
|
||||
bp1 = NULL; /* Find the header. */
|
||||
bp2 = bheadp;
|
||||
while (bp2 != bp) {
|
||||
bp1 = bp2;
|
||||
bp2 = bp2->b_bufp;
|
||||
}
|
||||
bp2 = bp2->b_bufp; /* Next one in chain. */
|
||||
if (bp1 == NULL) /* Unlink it. */
|
||||
bheadp = bp2;
|
||||
else
|
||||
bp1->b_bufp = bp2;
|
||||
free((char *) bp); /* Release buffer block */
|
||||
return (TRUE);
|
||||
if (bp->b_nwnd != 0) { /* Error if on screen. */
|
||||
mlwrite("Buffer is being displayed");
|
||||
return (FALSE);
|
||||
}
|
||||
if ((s = bclear(bp)) != TRUE) /* Blow text away. */
|
||||
return (s);
|
||||
free((char *) bp->b_linep); /* Release header line. */
|
||||
bp1 = NULL; /* Find the header. */
|
||||
bp2 = bheadp;
|
||||
while (bp2 != bp) {
|
||||
bp1 = bp2;
|
||||
bp2 = bp2->b_bufp;
|
||||
}
|
||||
bp2 = bp2->b_bufp; /* Next one in chain. */
|
||||
if (bp1 == NULL) /* Unlink it. */
|
||||
bheadp = bp2;
|
||||
else
|
||||
bp1->b_bufp = bp2;
|
||||
free((char *) bp); /* Release buffer block */
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
namebuffer(f,n) /* Rename the current buffer */
|
||||
|
||||
int f, n; /* default Flag & Numeric arg */
|
||||
namebuffer(f, n)
|
||||
/* Rename the current buffer */
|
||||
int f, n; /* default Flag & Numeric arg */
|
||||
|
||||
{
|
||||
register BUFFER *bp; /* pointer to scan through all buffers */
|
||||
char bufn[NBUFN]; /* buffer to hold buffer name */
|
||||
|
||||
/* prompt for and get the new buffer name */
|
||||
ask: if (mlreply("Change buffer name to: ", bufn, NBUFN) != TRUE)
|
||||
return(FALSE);
|
||||
ask:if (mlreply("Change buffer name to: ", bufn, NBUFN) !=
|
||||
TRUE)
|
||||
return (FALSE);
|
||||
|
||||
/* and check for duplicates */
|
||||
bp = bheadp;
|
||||
@@ -190,7 +190,7 @@ ask: if (mlreply("Change buffer name to: ", bufn, NBUFN) != TRUE)
|
||||
if (bp != curbp) {
|
||||
/* if the names the same */
|
||||
if (strcmp(bufn, bp->b_bname) == 0)
|
||||
goto ask; /* try again */
|
||||
goto ask; /* try again */
|
||||
}
|
||||
bp = bp->b_bufp; /* onward */
|
||||
}
|
||||
@@ -198,7 +198,7 @@ ask: if (mlreply("Change buffer name to: ", bufn, NBUFN) != TRUE)
|
||||
strcpy(curbp->b_bname, bufn); /* copy buffer name to structure */
|
||||
curwp->w_flag |= WFMODE; /* make mode line replot */
|
||||
mlerase();
|
||||
return(TRUE);
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -213,38 +213,38 @@ ask: if (mlreply("Change buffer name to: ", bufn, NBUFN) != TRUE)
|
||||
|
||||
listbuffers(f, n)
|
||||
{
|
||||
register WINDOW *wp;
|
||||
register BUFFER *bp;
|
||||
register int s;
|
||||
register WINDOW *wp;
|
||||
register BUFFER *bp;
|
||||
register int s;
|
||||
|
||||
if ((s=makelist(f)) != TRUE)
|
||||
return (s);
|
||||
if (blistp->b_nwnd == 0) { /* Not on screen yet. */
|
||||
if ((wp=wpopup()) == NULL)
|
||||
return (FALSE);
|
||||
bp = wp->w_bufp;
|
||||
if (--bp->b_nwnd == 0) {
|
||||
bp->b_dotp = wp->w_dotp;
|
||||
bp->b_doto = wp->w_doto;
|
||||
bp->b_markp = wp->w_markp;
|
||||
bp->b_marko = wp->w_marko;
|
||||
}
|
||||
wp->w_bufp = blistp;
|
||||
++blistp->b_nwnd;
|
||||
}
|
||||
wp = wheadp;
|
||||
while (wp != NULL) {
|
||||
if (wp->w_bufp == blistp) {
|
||||
wp->w_linep = lforw(blistp->b_linep);
|
||||
wp->w_dotp = lforw(blistp->b_linep);
|
||||
wp->w_doto = 0;
|
||||
wp->w_markp = NULL;
|
||||
wp->w_marko = 0;
|
||||
wp->w_flag |= WFMODE|WFHARD;
|
||||
}
|
||||
wp = wp->w_wndp;
|
||||
}
|
||||
return (TRUE);
|
||||
if ((s = makelist(f)) != TRUE)
|
||||
return (s);
|
||||
if (blistp->b_nwnd == 0) { /* Not on screen yet. */
|
||||
if ((wp = wpopup()) == NULL)
|
||||
return (FALSE);
|
||||
bp = wp->w_bufp;
|
||||
if (--bp->b_nwnd == 0) {
|
||||
bp->b_dotp = wp->w_dotp;
|
||||
bp->b_doto = wp->w_doto;
|
||||
bp->b_markp = wp->w_markp;
|
||||
bp->b_marko = wp->w_marko;
|
||||
}
|
||||
wp->w_bufp = blistp;
|
||||
++blistp->b_nwnd;
|
||||
}
|
||||
wp = wheadp;
|
||||
while (wp != NULL) {
|
||||
if (wp->w_bufp == blistp) {
|
||||
wp->w_linep = lforw(blistp->b_linep);
|
||||
wp->w_dotp = lforw(blistp->b_linep);
|
||||
wp->w_doto = 0;
|
||||
wp->w_markp = NULL;
|
||||
wp->w_marko = 0;
|
||||
wp->w_flag |= WFMODE | WFHARD;
|
||||
}
|
||||
wp = wp->w_wndp;
|
||||
}
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -259,28 +259,29 @@ listbuffers(f, n)
|
||||
#define MAXLINE MAXCOL
|
||||
makelist(iflag)
|
||||
|
||||
int iflag; /* list hidden buffer flag */
|
||||
int iflag; /* list hidden buffer flag */
|
||||
|
||||
{
|
||||
register char *cp1;
|
||||
register char *cp2;
|
||||
register int c;
|
||||
register BUFFER *bp;
|
||||
register LINE *lp;
|
||||
register int s;
|
||||
register int i;
|
||||
long nbytes; /* # of bytes in current buffer */
|
||||
char b[7+1];
|
||||
char line[MAXLINE];
|
||||
register char *cp1;
|
||||
register char *cp2;
|
||||
register int c;
|
||||
register BUFFER *bp;
|
||||
register LINE *lp;
|
||||
register int s;
|
||||
register int i;
|
||||
long nbytes; /* # of bytes in current buffer */
|
||||
char b[7 + 1];
|
||||
char line[MAXLINE];
|
||||
|
||||
blistp->b_flag &= ~BFCHG; /* Don't complain! */
|
||||
if ((s=bclear(blistp)) != TRUE) /* Blow old text away */
|
||||
return (s);
|
||||
strcpy(blistp->b_fname, "");
|
||||
if (addline("ACT MODES Size Buffer File") == FALSE
|
||||
|| addline("--- ----- ---- ------ ----") == FALSE)
|
||||
return (FALSE);
|
||||
bp = bheadp; /* For all buffers */
|
||||
blistp->b_flag &= ~BFCHG; /* Don't complain! */
|
||||
if ((s = bclear(blistp)) != TRUE) /* Blow old text away */
|
||||
return (s);
|
||||
strcpy(blistp->b_fname, "");
|
||||
if (addline("ACT MODES Size Buffer File") == FALSE
|
||||
|| addline("--- ----- ---- ------ ----") ==
|
||||
FALSE)
|
||||
return (FALSE);
|
||||
bp = bheadp; /* For all buffers */
|
||||
|
||||
/* build line to report global mode settings */
|
||||
cp1 = &line[0];
|
||||
@@ -297,36 +298,36 @@ int iflag; /* list hidden buffer flag */
|
||||
*cp1++ = '.';
|
||||
strcpy(cp1, " Global Modes");
|
||||
if (addline(line) == FALSE)
|
||||
return(FALSE);
|
||||
return (FALSE);
|
||||
|
||||
/* output the list of buffers */
|
||||
while (bp != NULL) {
|
||||
while (bp != NULL) {
|
||||
/* skip invisable buffers if iflag is false */
|
||||
if (((bp->b_flag&BFINVS) != 0) && (iflag != TRUE)) {
|
||||
bp = bp->b_bufp;
|
||||
continue;
|
||||
}
|
||||
cp1 = &line[0]; /* Start at left edge */
|
||||
if (((bp->b_flag & BFINVS) != 0) && (iflag != TRUE)) {
|
||||
bp = bp->b_bufp;
|
||||
continue;
|
||||
}
|
||||
cp1 = &line[0]; /* Start at left edge */
|
||||
|
||||
/* output status of ACTIVE flag (has the file been read in? */
|
||||
if (bp->b_active == TRUE) /* "@" if activated */
|
||||
*cp1++ = '@';
|
||||
else
|
||||
*cp1++ = ' ';
|
||||
if (bp->b_active == TRUE) /* "@" if activated */
|
||||
*cp1++ = '@';
|
||||
else
|
||||
*cp1++ = ' ';
|
||||
|
||||
/* output status of changed flag */
|
||||
if ((bp->b_flag&BFCHG) != 0) /* "*" if changed */
|
||||
*cp1++ = '*';
|
||||
else
|
||||
*cp1++ = ' ';
|
||||
if ((bp->b_flag & BFCHG) != 0) /* "*" if changed */
|
||||
*cp1++ = '*';
|
||||
else
|
||||
*cp1++ = ' ';
|
||||
|
||||
/* report if the file is truncated */
|
||||
if ((bp->b_flag&BFTRUNC) != 0)
|
||||
*cp1++ = '#';
|
||||
else
|
||||
*cp1++ = ' ';
|
||||
if ((bp->b_flag & BFTRUNC) != 0)
|
||||
*cp1++ = '#';
|
||||
else
|
||||
*cp1++ = ' ';
|
||||
|
||||
*cp1++ = ' '; /* space */
|
||||
*cp1++ = ' '; /* space */
|
||||
|
||||
/* output the mode codes */
|
||||
for (i = 0; i < NUMMODES; i++) {
|
||||
@@ -335,53 +336,53 @@ int iflag; /* list hidden buffer flag */
|
||||
else
|
||||
*cp1++ = '.';
|
||||
}
|
||||
*cp1++ = ' '; /* Gap. */
|
||||
nbytes = 0L; /* Count bytes in buf. */
|
||||
lp = lforw(bp->b_linep);
|
||||
while (lp != bp->b_linep) {
|
||||
nbytes += (long)llength(lp)+1L;
|
||||
lp = lforw(lp);
|
||||
}
|
||||
ltoa(b, 7, nbytes); /* 6 digit buffer size. */
|
||||
cp2 = &b[0];
|
||||
while ((c = *cp2++) != 0)
|
||||
*cp1++ = c;
|
||||
*cp1++ = ' '; /* Gap. */
|
||||
cp2 = &bp->b_bname[0]; /* Buffer name */
|
||||
while ((c = *cp2++) != 0)
|
||||
*cp1++ = c;
|
||||
cp2 = &bp->b_fname[0]; /* File name */
|
||||
if (*cp2 != 0) {
|
||||
while (cp1 < &line[3+1+5+1+6+4+NBUFN])
|
||||
*cp1++ = ' ';
|
||||
while ((c = *cp2++) != 0) {
|
||||
if (cp1 < &line[MAXLINE-1])
|
||||
*cp1++ = c;
|
||||
}
|
||||
}
|
||||
*cp1 = 0; /* Add to the buffer. */
|
||||
if (addline(line) == FALSE)
|
||||
return (FALSE);
|
||||
bp = bp->b_bufp;
|
||||
}
|
||||
return (TRUE); /* All done */
|
||||
*cp1++ = ' '; /* Gap. */
|
||||
nbytes = 0L; /* Count bytes in buf. */
|
||||
lp = lforw(bp->b_linep);
|
||||
while (lp != bp->b_linep) {
|
||||
nbytes += (long) llength(lp) + 1L;
|
||||
lp = lforw(lp);
|
||||
}
|
||||
ltoa(b, 7, nbytes); /* 6 digit buffer size. */
|
||||
cp2 = &b[0];
|
||||
while ((c = *cp2++) != 0)
|
||||
*cp1++ = c;
|
||||
*cp1++ = ' '; /* Gap. */
|
||||
cp2 = &bp->b_bname[0]; /* Buffer name */
|
||||
while ((c = *cp2++) != 0)
|
||||
*cp1++ = c;
|
||||
cp2 = &bp->b_fname[0]; /* File name */
|
||||
if (*cp2 != 0) {
|
||||
while (cp1 < &line[3 + 1 + 5 + 1 + 6 + 4 + NBUFN])
|
||||
*cp1++ = ' ';
|
||||
while ((c = *cp2++) != 0) {
|
||||
if (cp1 < &line[MAXLINE - 1])
|
||||
*cp1++ = c;
|
||||
}
|
||||
}
|
||||
*cp1 = 0; /* Add to the buffer. */
|
||||
if (addline(line) == FALSE)
|
||||
return (FALSE);
|
||||
bp = bp->b_bufp;
|
||||
}
|
||||
return (TRUE); /* All done */
|
||||
}
|
||||
|
||||
ltoa(buf, width, num)
|
||||
|
||||
char buf[];
|
||||
int width;
|
||||
long num;
|
||||
char buf[];
|
||||
int width;
|
||||
long num;
|
||||
|
||||
{
|
||||
buf[width] = 0; /* End of string. */
|
||||
while (num >= 10) { /* Conditional digits. */
|
||||
buf[--width] = (int)(num%10L) + '0';
|
||||
num /= 10L;
|
||||
}
|
||||
buf[--width] = (int)num + '0'; /* Always 1 digit. */
|
||||
while (width != 0) /* Pad with blanks. */
|
||||
buf[--width] = ' ';
|
||||
buf[width] = 0; /* End of string. */
|
||||
while (num >= 10) { /* Conditional digits. */
|
||||
buf[--width] = (int) (num % 10L) + '0';
|
||||
num /= 10L;
|
||||
}
|
||||
buf[--width] = (int) num + '0'; /* Always 1 digit. */
|
||||
while (width != 0) /* Pad with blanks. */
|
||||
buf[--width] = ' ';
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -392,24 +393,24 @@ long num;
|
||||
* FALSE if you ran out of room.
|
||||
*/
|
||||
addline(text)
|
||||
char *text;
|
||||
char *text;
|
||||
{
|
||||
register LINE *lp;
|
||||
register int i;
|
||||
register int ntext;
|
||||
register LINE *lp;
|
||||
register int i;
|
||||
register int ntext;
|
||||
|
||||
ntext = strlen(text);
|
||||
if ((lp=lalloc(ntext)) == NULL)
|
||||
return (FALSE);
|
||||
for (i=0; i<ntext; ++i)
|
||||
lputc(lp, i, text[i]);
|
||||
blistp->b_linep->l_bp->l_fp = lp; /* Hook onto the end */
|
||||
lp->l_bp = blistp->b_linep->l_bp;
|
||||
blistp->b_linep->l_bp = lp;
|
||||
lp->l_fp = blistp->b_linep;
|
||||
if (blistp->b_dotp == blistp->b_linep) /* If "." is at the end */
|
||||
blistp->b_dotp = lp; /* move it to new line */
|
||||
return (TRUE);
|
||||
ntext = strlen(text);
|
||||
if ((lp = lalloc(ntext)) == NULL)
|
||||
return (FALSE);
|
||||
for (i = 0; i < ntext; ++i)
|
||||
lputc(lp, i, text[i]);
|
||||
blistp->b_linep->l_bp->l_fp = lp; /* Hook onto the end */
|
||||
lp->l_bp = blistp->b_linep->l_bp;
|
||||
blistp->b_linep->l_bp = lp;
|
||||
lp->l_fp = blistp->b_linep;
|
||||
if (blistp->b_dotp == blistp->b_linep) /* If "." is at the end */
|
||||
blistp->b_dotp = lp; /* move it to new line */
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -424,15 +425,16 @@ char *text;
|
||||
*/
|
||||
anycb()
|
||||
{
|
||||
register BUFFER *bp;
|
||||
register BUFFER *bp;
|
||||
|
||||
bp = bheadp;
|
||||
while (bp != NULL) {
|
||||
if ((bp->b_flag&BFINVS)==0 && (bp->b_flag&BFCHG)!=0)
|
||||
return (TRUE);
|
||||
bp = bp->b_bufp;
|
||||
}
|
||||
return (FALSE);
|
||||
bp = bheadp;
|
||||
while (bp != NULL) {
|
||||
if ((bp->b_flag & BFINVS) == 0
|
||||
&& (bp->b_flag & BFCHG) != 0)
|
||||
return (TRUE);
|
||||
bp = bp->b_bufp;
|
||||
}
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -442,34 +444,33 @@ anycb()
|
||||
* and the "cflag" is TRUE, create it. The "bflag" is
|
||||
* the settings for the flags in in buffer.
|
||||
*/
|
||||
BUFFER *
|
||||
bfind(bname, cflag, bflag)
|
||||
register char *bname;
|
||||
BUFFER *bfind(bname, cflag, bflag)
|
||||
register char *bname;
|
||||
{
|
||||
register BUFFER *bp;
|
||||
register BUFFER *bp;
|
||||
register BUFFER *sb; /* buffer to insert after */
|
||||
register LINE *lp;
|
||||
register LINE *lp;
|
||||
char *malloc();
|
||||
|
||||
bp = bheadp;
|
||||
while (bp != NULL) {
|
||||
if (strcmp(bname, bp->b_bname) == 0)
|
||||
return (bp);
|
||||
bp = bp->b_bufp;
|
||||
}
|
||||
if (cflag != FALSE) {
|
||||
if ((bp=(BUFFER *)malloc(sizeof(BUFFER))) == NULL)
|
||||
return (NULL);
|
||||
if ((lp=lalloc(0)) == NULL) {
|
||||
free((char *) bp);
|
||||
return (NULL);
|
||||
}
|
||||
bp = bheadp;
|
||||
while (bp != NULL) {
|
||||
if (strcmp(bname, bp->b_bname) == 0)
|
||||
return (bp);
|
||||
bp = bp->b_bufp;
|
||||
}
|
||||
if (cflag != FALSE) {
|
||||
if ((bp = (BUFFER *) malloc(sizeof(BUFFER))) == NULL)
|
||||
return (NULL);
|
||||
if ((lp = lalloc(0)) == NULL) {
|
||||
free((char *) bp);
|
||||
return (NULL);
|
||||
}
|
||||
/* find the place in the list to insert this buffer */
|
||||
if (bheadp == NULL || strcmp(bheadp->b_bname, bname) > 0) {
|
||||
/* insert at the beginning */
|
||||
bp->b_bufp = bheadp;
|
||||
bheadp = bp;
|
||||
} else {
|
||||
bp->b_bufp = bheadp;
|
||||
bheadp = bp;
|
||||
} else {
|
||||
sb = bheadp;
|
||||
while (sb->b_bufp != NULL) {
|
||||
if (strcmp(sb->b_bufp->b_bname, bname) > 0)
|
||||
@@ -478,29 +479,29 @@ register char *bname;
|
||||
}
|
||||
|
||||
/* and insert it */
|
||||
bp->b_bufp = sb->b_bufp;
|
||||
sb->b_bufp = bp;
|
||||
}
|
||||
bp->b_bufp = sb->b_bufp;
|
||||
sb->b_bufp = bp;
|
||||
}
|
||||
|
||||
/* and set up the other buffer fields */
|
||||
bp->b_active = TRUE;
|
||||
bp->b_dotp = lp;
|
||||
bp->b_doto = 0;
|
||||
bp->b_markp = NULL;
|
||||
bp->b_marko = 0;
|
||||
bp->b_flag = bflag;
|
||||
bp->b_mode = gmode;
|
||||
bp->b_nwnd = 0;
|
||||
bp->b_linep = lp;
|
||||
strcpy(bp->b_fname, "");
|
||||
strcpy(bp->b_bname, bname);
|
||||
bp->b_dotp = lp;
|
||||
bp->b_doto = 0;
|
||||
bp->b_markp = NULL;
|
||||
bp->b_marko = 0;
|
||||
bp->b_flag = bflag;
|
||||
bp->b_mode = gmode;
|
||||
bp->b_nwnd = 0;
|
||||
bp->b_linep = lp;
|
||||
strcpy(bp->b_fname, "");
|
||||
strcpy(bp->b_bname, bname);
|
||||
#if CRYPT
|
||||
bp->b_key[0] = 0;
|
||||
#endif
|
||||
lp->l_fp = lp;
|
||||
lp->l_bp = lp;
|
||||
}
|
||||
return (bp);
|
||||
lp->l_fp = lp;
|
||||
lp->l_bp = lp;
|
||||
}
|
||||
return (bp);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -516,29 +517,29 @@ register char *bname;
|
||||
bclear(bp)
|
||||
register BUFFER *bp;
|
||||
{
|
||||
register LINE *lp;
|
||||
register int s;
|
||||
register LINE *lp;
|
||||
register int s;
|
||||
|
||||
if ((bp->b_flag&BFINVS) == 0 /* Not scratch buffer. */
|
||||
&& (bp->b_flag&BFCHG) != 0 /* Something changed */
|
||||
&& (s=mlyesno("Discard changes")) != TRUE)
|
||||
return (s);
|
||||
bp->b_flag &= ~BFCHG; /* Not changed */
|
||||
while ((lp=lforw(bp->b_linep)) != bp->b_linep)
|
||||
lfree(lp);
|
||||
bp->b_dotp = bp->b_linep; /* Fix "." */
|
||||
bp->b_doto = 0;
|
||||
bp->b_markp = NULL; /* Invalidate "mark" */
|
||||
bp->b_marko = 0;
|
||||
return (TRUE);
|
||||
if ((bp->b_flag & BFINVS) == 0 /* Not scratch buffer. */
|
||||
&& (bp->b_flag & BFCHG) != 0 /* Something changed */
|
||||
&& (s = mlyesno("Discard changes")) != TRUE)
|
||||
return (s);
|
||||
bp->b_flag &= ~BFCHG; /* Not changed */
|
||||
while ((lp = lforw(bp->b_linep)) != bp->b_linep)
|
||||
lfree(lp);
|
||||
bp->b_dotp = bp->b_linep; /* Fix "." */
|
||||
bp->b_doto = 0;
|
||||
bp->b_markp = NULL; /* Invalidate "mark" */
|
||||
bp->b_marko = 0;
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
unmark(f, n) /* unmark the current buffers change flag */
|
||||
|
||||
int f, n; /* unused command arguments */
|
||||
unmark(f, n)
|
||||
/* unmark the current buffers change flag */
|
||||
int f, n; /* unused command arguments */
|
||||
|
||||
{
|
||||
curbp->b_flag &= ~BFCHG;
|
||||
curwp->w_flag |= WFMODE;
|
||||
return(TRUE);
|
||||
return (TRUE);
|
||||
}
|
||||
|
Reference in New Issue
Block a user