version 1.69, 2001/05/08 19:17:31 |
version 1.70, 2001/05/11 14:59:55 |
|
|
snprintf(buf, sizeof buf, "Connection to %.64s closed.\r\n", host); |
snprintf(buf, sizeof buf, "Connection to %.64s closed.\r\n", host); |
buffer_append(&stderr_buffer, buf, strlen(buf)); |
buffer_append(&stderr_buffer, buf, strlen(buf)); |
} |
} |
|
|
|
/* restore blocking io */ |
|
if (!isatty(fileno(stdin))) |
|
unset_nonblock(fileno(stdin)); |
|
if (!isatty(fileno(stdout))) |
|
unset_nonblock(fileno(stdout)); |
|
if (!isatty(fileno(stderr))) |
|
unset_nonblock(fileno(stderr)); |
|
|
/* Output any buffered data for stdout. */ |
/* Output any buffered data for stdout. */ |
if (buffer_len(&stdout_buffer) > 0) { |
while (buffer_len(&stdout_buffer) > 0) { |
len = atomicio(write, fileno(stdout), buffer_ptr(&stdout_buffer), |
len = write(fileno(stdout), buffer_ptr(&stdout_buffer), |
buffer_len(&stdout_buffer)); |
buffer_len(&stdout_buffer)); |
if (len != buffer_len(&stdout_buffer)) |
if (len <= 0) { |
error("Write failed flushing stdout buffer."); |
error("Write failed flushing stdout buffer."); |
|
break; |
|
} |
buffer_consume(&stdout_buffer, len); |
buffer_consume(&stdout_buffer, len); |
stdout_bytes += len; |
stdout_bytes += len; |
} |
} |
|
|
/* Output any buffered data for stderr. */ |
/* Output any buffered data for stderr. */ |
if (buffer_len(&stderr_buffer) > 0) { |
while (buffer_len(&stderr_buffer) > 0) { |
len = atomicio(write, fileno(stderr), buffer_ptr(&stderr_buffer), |
len = write(fileno(stderr), buffer_ptr(&stderr_buffer), |
buffer_len(&stderr_buffer)); |
buffer_len(&stderr_buffer)); |
if (len != buffer_len(&stderr_buffer)) |
if (len <= 0) { |
error("Write failed flushing stderr buffer."); |
error("Write failed flushing stderr buffer."); |
|
break; |
|
} |
buffer_consume(&stderr_buffer, len); |
buffer_consume(&stderr_buffer, len); |
stderr_bytes += len; |
stderr_bytes += len; |
} |
} |