diff options
author | Daniel Baumann <mail@daniel-baumann.ch> | 2015-11-07 05:07:19 +0000 |
---|---|---|
committer | Daniel Baumann <mail@daniel-baumann.ch> | 2015-11-07 05:07:19 +0000 |
commit | e5099e6281b0280f8ff0b1a85a17a03e97c1c96c (patch) | |
tree | ee40b9b6325c6fc85c11f1b5a320922eda58d4e1 /decoder.c | |
parent | Adding upstream version 1.5. (diff) | |
download | lunzip-cfac9c832c4845e2fc1e9ce6d94dcbc3dd35f2fa.tar.xz lunzip-cfac9c832c4845e2fc1e9ce6d94dcbc3dd35f2fa.zip |
Adding upstream version 1.6.upstream/1.6
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'decoder.c')
-rw-r--r-- | decoder.c | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -3,7 +3,7 @@ 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 - the Free Software Foundation, either version 3 of the License, or + the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -55,17 +55,17 @@ void Pp_show_msg( struct Pretty_print * const pp, const char * const msg ) */ static int readblock( const int fd, uint8_t * const buf, const int size ) { - int rest = size; + int sz = 0; errno = 0; - while( rest > 0 ) + while( sz < size ) { - const int n = read( fd, buf + size - rest, rest ); - if( n > 0 ) rest -= n; + const int n = read( fd, buf + sz, size - sz ); + if( n > 0 ) sz += n; else if( n == 0 ) break; /* EOF */ else if( errno != EINTR ) break; errno = 0; } - return size - rest; + return sz; } @@ -74,16 +74,16 @@ static int readblock( const int fd, uint8_t * const buf, const int size ) */ static int writeblock( const int fd, const uint8_t * const buf, const int size ) { - int rest = size; + int sz = 0; errno = 0; - while( rest > 0 ) + while( sz < size ) { - const int n = write( fd, buf + size - rest, rest ); - if( n > 0 ) rest -= n; + const int n = write( fd, buf + sz, size - sz ); + if( n > 0 ) sz += n; else if( n < 0 && errno != EINTR ) break; errno = 0; } - return size - rest; + return sz; } |