This commit is contained in:
rsc 2003-09-30 19:05:50 +00:00
parent 2df2758496
commit 522b0689c3
180 changed files with 245 additions and 6144 deletions

View file

@ -114,7 +114,7 @@ mergeextend(File *f, uint p0)
mp0n = merge.p0+merge.n;
if(mp0n != p0){
bufread(f, mp0n, merge.buf+merge.nbuf, p0-mp0n);
bufread(&f->b, mp0n, merge.buf+merge.nbuf, p0-mp0n);
merge.nbuf += p0-mp0n;
merge.n = p0-merge.p0;
}
@ -268,11 +268,11 @@ filedeltext(File *f, Text *t)
void
fileinsert(File *f, uint p0, Rune *s, uint ns)
{
if(p0 > f->_.nc)
if(p0 > f->b.nc)
panic("internal error: fileinsert");
if(f->seq > 0)
fileuninsert(f, &f->delta, p0, ns);
bufinsert(f, p0, s, ns);
bufinsert(&f->b, p0, s, ns);
if(ns)
f->mod = TRUE;
}
@ -294,11 +294,11 @@ fileuninsert(File *f, Buffer *delta, uint p0, uint ns)
void
filedelete(File *f, uint p0, uint p1)
{
if(!(p0<=p1 && p0<=f->_.nc && p1<=f->_.nc))
if(!(p0<=p1 && p0<=f->b.nc && p1<=f->b.nc))
panic("internal error: filedelete");
if(f->seq > 0)
fileundelete(f, &f->delta, p0, p1);
bufdelete(f, p0, p1);
bufdelete(&f->b, p0, p1);
if(p1 > p0)
f->mod = TRUE;
}
@ -321,7 +321,7 @@ fileundelete(File *f, Buffer *delta, uint p0, uint p1)
n = p1 - i;
if(n > RBUFSIZE)
n = RBUFSIZE;
bufread(f, i, buf, n);
bufread(&f->b, i, buf, n);
bufinsert(delta, delta->nc, buf, n);
}
fbuffree(buf);
@ -334,9 +334,9 @@ filereadc(File *f, uint q)
{
Rune r;
if(q >= f->_.nc)
if(q >= f->b.nc)
return -1;
bufread(f, q, &r, 1);
bufread(&f->b, q, &r, 1);
return r;
}
@ -402,7 +402,7 @@ fileload(File *f, uint p0, int fd, int *nulls)
{
if(f->seq > 0)
panic("undo in file.load unimplemented");
return bufload(f, p0, fd, nulls);
return bufload(&f->b, p0, fd, nulls);
}
int
@ -525,7 +525,7 @@ fileundo(File *f, int isundo, int canredo, uint *q0p, uint *q1p, int flag)
if(canredo)
fileundelete(f, epsilon, u.p0, u.p0+u.n);
f->mod = u.mod;
bufdelete(f, u.p0, u.p0+u.n);
bufdelete(&f->b, u.p0, u.p0+u.n);
raspdelete(f, u.p0, u.p0+u.n, flag);
*q0p = u.p0;
*q1p = u.p0;
@ -543,7 +543,7 @@ fileundo(File *f, int isundo, int canredo, uint *q0p, uint *q1p, int flag)
if(n > RBUFSIZE)
n = RBUFSIZE;
bufread(delta, up+i, buf, n);
bufinsert(f, u.p0+i, buf, n);
bufinsert(&f->b, u.p0+i, buf, n);
raspinsert(f, u.p0+i, buf, n, flag);
}
fbuffree(buf);
@ -601,7 +601,7 @@ void
fileclose(File *f)
{
Strclose(&f->name);
bufclose(f);
bufclose(&f->b);
bufclose(&f->delta);
bufclose(&f->epsilon);
if(f->rasp)