[PATCH 2/3] libfile: Add copy_fd()
Trent Piepho
trent.piepho at igorinstitute.com
Tue Jun 22 23:24:57 PDT 2021
On Tue, Jun 22, 2021 at 9:34 PM Sascha Hauer <s.hauer at pengutronix.de> wrote:
> + while (1) {
> + int now, wr;
> +
> + now = read(in, buf, bs);
> + if (now < 0) {
> + ret = now;
> + goto err;
> + }
> +
> + if (!now)
> + break;
> +
> + wr = write_full(out, buf, now);
> + if (wr < 0) {
> + ret = wr;
> + goto err;
> + }
> + }
> +
> + ret = 0;
> +err:
> + free(buf);
> +
> + return ret;
This can be quite a bit shorter:
while (1) {
ret = read(in, buf, bs);
if (ret <= 0)
break;
ret = write_full(out, buf, ret);
if (ret < 0)
break;
}
free(buf)
return ret;
More information about the barebox
mailing list