Mon, 03 Apr 2023 19:48:00 +0200
simplify cx_stream_ncopy()
src/utils.c | file | annotate | diff | comparison | revisions |
1.1 --- a/src/utils.c Mon Apr 03 19:20:30 2023 +0200 1.2 +++ b/src/utils.c Mon Apr 03 19:48:00 2023 +0200 1.3 @@ -84,27 +84,9 @@ 1.4 cx_write_func wfnc, 1.5 size_t n 1.6 ) { 1.7 - if (n == 0) { 1.8 - return 0; 1.9 - } 1.10 - 1.11 - const size_t bufsize = CX_STREAM_COPY_BUF_SIZE; 1.12 - char lbuf[bufsize]; 1.13 - size_t ncp = 0; 1.14 - 1.15 - size_t r; 1.16 - size_t rn = bufsize > n ? n : bufsize; 1.17 - while ((r = rfnc(lbuf, 1, rn, src)) != 0) { 1.18 - r = wfnc(lbuf, 1, r, dest); 1.19 - ncp += r; 1.20 - n -= r; 1.21 - rn = bufsize > n ? n : bufsize; 1.22 - if (r == 0 || n == 0) { 1.23 - break; 1.24 - } 1.25 - } 1.26 - 1.27 - return ncp; 1.28 + char buf[CX_STREAM_COPY_BUF_SIZE]; 1.29 + return cx_stream_bncopy(src, dest, rfnc, wfnc, 1.30 + buf, CX_STREAM_COPY_BUF_SIZE, n); 1.31 } 1.32 1.33 #ifndef CX_SZMUL_BUILTIN