mirror of
git://git.sv.gnu.org/coreutils
synced 2026-06-06 07:42:21 -04:00
Use fwrite insted of write.
This commit is contained in:
@@ -75,7 +75,6 @@ static char *xmalloc ();
|
||||
static char *xrealloc ();
|
||||
static void output ();
|
||||
static void save_stdin ();
|
||||
static void xwrite ();
|
||||
|
||||
void error ();
|
||||
int full_write ();
|
||||
@@ -251,13 +250,12 @@ main (argc, argv)
|
||||
errors |= tac_file (argv[optind]);
|
||||
}
|
||||
|
||||
/* Flush the output buffer. */
|
||||
output ((char *) NULL, (char *) NULL);
|
||||
if (ferror (stdout) || fclose (stdout) == EOF)
|
||||
error (1, errno, "write error");
|
||||
|
||||
if (have_read_stdin && close (0) < 0)
|
||||
error (1, errno, "-");
|
||||
if (close (1) < 0)
|
||||
error (1, errno, "write error");
|
||||
|
||||
exit (errors);
|
||||
}
|
||||
|
||||
@@ -602,31 +600,11 @@ output (start, past_end)
|
||||
char *start;
|
||||
char *past_end;
|
||||
{
|
||||
static char buffer[WRITESIZE];
|
||||
static int bytes_in_buffer = 0;
|
||||
int bytes_to_add = past_end - start;
|
||||
int bytes_available = WRITESIZE - bytes_in_buffer;
|
||||
int n_bytes;
|
||||
|
||||
if (start == 0)
|
||||
{
|
||||
xwrite (1, buffer, bytes_in_buffer);
|
||||
bytes_in_buffer = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Write out as many full buffers as possible. */
|
||||
while (bytes_to_add >= bytes_available)
|
||||
{
|
||||
bcopy (start, buffer + bytes_in_buffer, bytes_available);
|
||||
bytes_to_add -= bytes_available;
|
||||
start += bytes_available;
|
||||
xwrite (1, buffer, WRITESIZE);
|
||||
bytes_in_buffer = 0;
|
||||
bytes_available = WRITESIZE;
|
||||
}
|
||||
|
||||
bcopy (start, buffer + bytes_in_buffer, bytes_to_add);
|
||||
bytes_in_buffer += bytes_to_add;
|
||||
n_bytes = past_end - start;
|
||||
|
||||
fwrite (start, 1, n_bytes, stdout);
|
||||
}
|
||||
|
||||
static RETSIGTYPE
|
||||
@@ -636,19 +614,6 @@ cleanup ()
|
||||
exit (1);
|
||||
}
|
||||
|
||||
static void
|
||||
xwrite (desc, buffer, size)
|
||||
int desc;
|
||||
char *buffer;
|
||||
int size;
|
||||
{
|
||||
if (full_write (desc, buffer, size) < 0)
|
||||
{
|
||||
error (0, errno, "write error");
|
||||
cleanup ();
|
||||
}
|
||||
}
|
||||
|
||||
/* Allocate N bytes of memory dynamically, with error checking. */
|
||||
|
||||
static char *
|
||||
|
||||
Reference in New Issue
Block a user