ed: Add bytecount print to 'w' command

This commit is contained in:
Tait Hoyem 2020-09-14 22:36:15 +00:00 committed by Michael Forney
parent 0df09d5ba0
commit 714601b29d
2 changed files with 7 additions and 3 deletions

1
TODO
View File

@ -55,7 +55,6 @@ ed
line
.
1g/^$/p
* w command doesn't print byte count.
* Editing huge files doesn't work well.
printf

9
ed.c
View File

@ -623,14 +623,18 @@ static void
dowrite(const char *fname, int trunc)
{
FILE *fp;
size_t bytecount = 0;
int i, line;
if (!(fp = fopen(fname, (trunc) ? "w" : "a")))
error("input/output error");
line = curln;
for (i = line1; i <= line2; ++i)
fputs(gettxt(i), fp);
for (i = line1; i <= line2; ++i) {
gettxt(i);
bytecount += text.siz - 1;
fputs(text.str, fp);
}
curln = line2;
if (fclose(fp))
@ -638,6 +642,7 @@ dowrite(const char *fname, int trunc)
strcpy(savfname, fname);
modflag = 0;
curln = line;
printf("%zu\n", bytecount);
}
static void