version 1.10, 2002/02/14 03:15:04 |
version 1.11, 2002/02/14 14:24:21 |
|
|
return FALSE; |
return FALSE; |
lp->l_text = tmp; |
lp->l_text = tmp; |
lp->l_size = newsize; |
lp->l_size = newsize; |
|
|
return TRUE; |
return TRUE; |
} |
} |
|
|
|
|
|
|
/* current line */ |
/* current line */ |
lp1 = curwp->w_dotp; |
lp1 = curwp->w_dotp; |
|
|
/* special case for the end */ |
/* special case for the end */ |
if (lp1 == curbp->b_linep) { |
if (lp1 == curbp->b_linep) { |
LINE *lp2, *lp3; |
LINE *lp2, *lp3; |
|
|
/* now should only happen in empty buffer */ |
/* now should only happen in empty buffer */ |
if (curwp->w_doto != 0) { |
if (curwp->w_doto != 0) { |
ewprintf("bug: linsert"); |
ewprintf("bug: linsert"); |
|
|
/* allocate a new line */ |
/* allocate a new line */ |
if ((lp2 = lalloc(n)) == NULL) |
if ((lp2 = lalloc(n)) == NULL) |
return FALSE; |
return FALSE; |
|
|
/* previous line */ |
/* previous line */ |
lp3 = lp1->l_bp; |
lp3 = lp1->l_bp; |
/* link in */ |
/* link in */ |
|
|
if (wp->w_markp == lp1) |
if (wp->w_markp == lp1) |
wp->w_markp = lp2; |
wp->w_markp = lp2; |
} |
} |
|
|
curwp->w_doto = n; |
curwp->w_doto = n; |
return TRUE; |
return TRUE; |
} |
} |
|
|
if ((lp1->l_used + n) > lp1->l_size) { |
if ((lp1->l_used + n) > lp1->l_size) { |
if (lrealloc(lp1, lp1->l_used + n) == FALSE) |
if (lrealloc(lp1, lp1->l_used + n) == FALSE) |
return FALSE; |
return FALSE; |
} |
} |
lp1->l_used += n; |
lp1->l_used += n; |
if (lp1->l_used != n) |
if (lp1->l_used != n) |
memmove(&lp1->l_text[doto + n], &lp1->l_text[doto], |
memmove(&lp1->l_text[doto + n], &lp1->l_text[doto], |
lp1->l_used - n - doto); |
lp1->l_used - n - doto); |
|
|