diff options
author | Martin Pool <mbp@samba.org> | 2002-01-25 23:07:33 +0000 |
---|---|---|
committer | Martin Pool <mbp@samba.org> | 2002-01-25 23:07:33 +0000 |
commit | a261989cda6f671352e6323f11d2d98e923c622e (patch) | |
tree | b53a6d9d6b0cc12baab44a7e74395e9808266b40 /fileio.c | |
parent | 7b5c3eb05efb0d67348c92d81da599c64e0c03db (diff) | |
download | rsync-a261989cda6f671352e6323f11d2d98e923c622e.tar.gz rsync-a261989cda6f671352e6323f11d2d98e923c622e.tar.bz2 rsync-a261989cda6f671352e6323f11d2d98e923c622e.zip |
More signedness fixes; should be harmless.
Diffstat (limited to 'fileio.c')
-rw-r--r-- | fileio.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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); |