sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

commit 714601b29d6ed52aaf111cde34c524bec997a555
parent 0df09d5ba02a46b3886989f11dac060fb53ba619
Author: Tait Hoyem <code@tait.tech>
Date:   Mon, 14 Sep 2020 22:36:15 +0000

ed: Add bytecount print to 'w' command

Diffstat:
MTODO | 1-
Med.c | 9+++++++--
2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/TODO b/TODO @@ -55,7 +55,6 @@ ed line . 1g/^$/p -* w command doesn't print byte count. * Editing huge files doesn't work well. printf diff --git a/ed.c b/ed.c @@ -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