Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
the signed/unsigned change seems to have caused a logic bug on some
[rsync/rsync.git]
/
io.c
diff --git
a/io.c
b/io.c
index
6085745
..
6a7b679
100644
(file)
--- a/
io.c
+++ b/
io.c
@@
-86,7
+86,7
@@
void io_set_error_fd(int fd)
static void read_error_fd(void)
{
char buf[200];
static void read_error_fd(void)
{
char buf[200];
-
in
t n;
+
size_
t n;
int fd = io_error_fd;
int tag, len;
int fd = io_error_fd;
int tag, len;
@@
-103,7
+103,8
@@
static void read_error_fd(void)
while (len) {
n = len;
while (len) {
n = len;
- if (n > (sizeof(buf)-1)) n = sizeof(buf)-1;
+ if (n > (sizeof(buf)-1))
+ n = sizeof(buf)-1;
read_loop(fd, buf, n);
rwrite((enum logcode)tag, buf, n);
len -= n;
read_loop(fd, buf, n);
rwrite((enum logcode)tag, buf, n);
len -= n;
@@
-255,7
+256,7
@@
static void read_loop (int fd, char *buf, size_t len)
*/
static int read_unbuffered(int fd, char *buf, size_t len)
{
*/
static int read_unbuffered(int fd, char *buf, size_t len)
{
- static
in
t remaining;
+ static
size_
t remaining;
int tag, ret = 0;
char line[1024];
int tag, ret = 0;
char line[1024];
@@
-310,7
+311,7
@@
static int read_unbuffered(int fd, char *buf, size_t len)
static void readfd (int fd, char *buffer, size_t N)
{
int ret;
static void readfd (int fd, char *buffer, size_t N)
{
int ret;
-
in
t total=0;
+
size_
t total=0;
while (total < N) {
io_flush();
while (total < N) {
io_flush();
@@
-379,7
+380,7
@@
unsigned char read_byte(int f)
/* write len bytes to fd */
static void writefd_unbuffered(int fd,char *buf,size_t len)
{
/* write len bytes to fd */
static void writefd_unbuffered(int fd,char *buf,size_t len)
{
-
in
t total = 0;
+
size_
t total = 0;
fd_set w_fds, r_fds;
int fd_count, count;
struct timeval tv;
fd_set w_fds, r_fds;
int fd_count, count;
struct timeval tv;
@@
-426,7
+427,8
@@
static void writefd_unbuffered(int fd,char *buf,size_t len)
}
if (FD_ISSET(fd, &w_fds)) {
}
if (FD_ISSET(fd, &w_fds)) {
- int ret, n = len-total;
+ int ret;
+ size_t n = len-total;
ret = write(fd,buf+total,n);
if (ret == -1 && errno == EINTR) {
ret = write(fd,buf+total,n);
if (ret == -1 && errno == EINTR) {
@@
-488,7
+490,7
@@
void io_start_buffering(int fd)
static void mplex_write(int fd, enum logcode code, char *buf, size_t len)
{
char buffer[4096];
static void mplex_write(int fd, enum logcode code, char *buf, size_t len)
{
char buffer[4096];
-
in
t n = len;
+
size_
t n = len;
SIVAL(buffer, 0, ((MPLEX_BASE + (int)code)<<24) + len);
SIVAL(buffer, 0, ((MPLEX_BASE + (int)code)<<24) + len);
@@
-525,8
+527,7
@@
void io_flush(void)
}
}
-/* XXX: fd is ignored, which seems a little strange. */
-void io_end_buffering(int fd)
+void io_end_buffering(void)
{
io_flush();
if (!io_multiplexing_out) {
{
io_flush();
if (!io_multiplexing_out) {
@@
-547,7
+548,7
@@
static void writefd(int fd,char *buf,size_t len)
}
while (len) {
}
while (len) {
- int n = MIN(len, IO_BUFFER_SIZE-io_buffer_count);
+ int n = MIN(
(int)
len, IO_BUFFER_SIZE-io_buffer_count);
if (n > 0) {
memcpy(io_buffer+io_buffer_count, buf, n);
buf += n;
if (n > 0) {
memcpy(io_buffer+io_buffer_count, buf, n);
buf += n;