diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-05-24 20:09:57 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-05-24 20:09:57 +0000 |
| commit | ae4d58285fffc667653197d17734d5018acef9d4 (patch) | |
| tree | deb67c8ab628a0deaea9e3feb08832fa9d7f1255 /lib/base/filepush.cpp | |
| parent | 88101488f95cda7aff3dadb904edff963f914bfb (diff) | |
| download | enigma2-ae4d58285fffc667653197d17734d5018acef9d4.tar.gz enigma2-ae4d58285fffc667653197d17734d5018acef9d4.zip | |
in case of short reads, re-align with blocksize
Diffstat (limited to 'lib/base/filepush.cpp')
| -rw-r--r-- | lib/base/filepush.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/base/filepush.cpp b/lib/base/filepush.cpp index 1e5685ca..2a894cf5 100644 --- a/lib/base/filepush.cpp +++ b/lib/base/filepush.cpp @@ -174,6 +174,15 @@ void eFilePushThread::thread() } eDebug("eFilePushThread *read error* (%m) - not yet handled"); } + + /* a read might be mis-aligned in case of a short read. */ + int d = m_buf_end % m_blocksize; + if (d) + { + m_raw_source.lseek(-d, SEEK_CUR); + m_buf_end -= d; + } + if (m_buf_end == 0) { /* on EOF, try COMMITting once. */ |
