diff options
author | Daniel Baumann <mail@daniel-baumann.ch> | 2015-11-07 10:04:44 +0000 |
---|---|---|
committer | Daniel Baumann <mail@daniel-baumann.ch> | 2015-11-07 10:04:44 +0000 |
commit | 5f8b29bfd990b134bc538ab901684528f172c925 (patch) | |
tree | 1e40bbe38e14ee113aa44469cc34b3751001f4ba /decoder.cc | |
parent | Adding upstream version 1.16~pre2. (diff) | |
download | lzip-5f8b29bfd990b134bc538ab901684528f172c925.tar.xz lzip-5f8b29bfd990b134bc538ab901684528f172c925.zip |
Adding upstream version 1.16~rc1.upstream/1.16_rc1
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'decoder.cc')
-rw-r--r-- | decoder.cc | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -4,7 +4,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, @@ -57,17 +57,17 @@ void Pretty_print::operator()( const char * const msg ) const */ 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; } @@ -76,16 +76,16 @@ int readblock( const int fd, uint8_t * const buf, const int size ) */ 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; } |