- f = fopen_or_warn_stdin(*argv);
- if (f) {
- off_t r = bb_copyfd_eof(fileno(f), STDOUT_FILENO);
- fclose_if_not_stdin(f);
+ fd = open_or_warn_stdin(*argv);
+ if (fd >= 0) {
+ /* This is not a xfunc - never exits */
+ off_t r = bb_copyfd_eof(fd, STDOUT_FILENO);
+ if (fd != STDIN_FILENO)
+ close(fd);