summaryrefslogtreecommitdiff
path: root/fileio.c
diff options
context:
space:
mode:
authorMartin Pool <mbp@samba.org>2002-01-25 23:07:33 +0000
committerMartin Pool <mbp@samba.org>2002-01-25 23:07:33 +0000
commita261989cda6f671352e6323f11d2d98e923c622e (patch)
treeb53a6d9d6b0cc12baab44a7e74395e9808266b40 /fileio.c
parent7b5c3eb05efb0d67348c92d81da599c64e0c03db (diff)
downloadrsync-a261989cda6f671352e6323f11d2d98e923c622e.tar.gz
More signedness fixes; should be harmless.
Diffstat (limited to 'fileio.c')
-rw-r--r--fileio.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fileio.c b/fileio.c
index 3ed28036..92631bc7 100644
--- a/fileio.c
+++ b/fileio.c
@@ -1,5 +1,6 @@
/*
Copyright (C) Andrew Tridgell 1998
+ Copyright (C) 2002 by Martin Pool
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,7 +39,7 @@ int sparse_end(int f)
static int write_sparse(int f,char *buf,size_t len)
{
- int l1=0,l2=0;
+ size_t l1=0, l2=0;
int ret;
for (l1=0;l1<len && buf[l1]==0;l1++) ;
@@ -56,10 +57,11 @@ static int write_sparse(int f,char *buf,size_t len)
if (l1 == len)
return len;
- if ((ret=write(f,buf+l1,len-(l1+l2))) != len-(l1+l2)) {
- if (ret == -1 || ret == 0) return ret;
+ ret = write(f, buf + l1, len - (l1+l2));
+ if (ret == -1 || ret == 0)
+ return ret;
+ else if (ret != (int) (len - (l1+l2)))
return (l1+ret);
- }
if (l2 > 0)
do_lseek(f,l2,SEEK_CUR);