aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2010-11-10 17:17:45 +0100
committerghost <andreas.monzner@multimedia-labs.de>2010-11-10 17:17:45 +0100
commitf1905e060a3a947ac2d3825e43b3052b361c71e6 (patch)
tree60b99fc4a9b4c7c1f0a72b31fa2b41697238f501
parentdd43e7a64a07bd5777e40cd46fed4fd9f545eb01 (diff)
downloadenigma2-f1905e060a3a947ac2d3825e43b3052b361c71e6.tar.gz
enigma2-f1905e060a3a947ac2d3825e43b3052b361c71e6.zip
migrate eDVBServiceOfflineOperations to new iDataSource::read function
-rw-r--r--lib/service/servicedvb.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index e498dd42..9cac25fa 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -503,18 +503,19 @@ RESULT eDVBPVRServiceOfflineOperations::reindex()
int err = f.open(m_ref.path.c_str(), 0);
if (err < 0)
return -1;
-
+
+ off_t offset = 0;
off_t length = f.length();
unsigned char buffer[188*256*4];
while (1)
{
- off_t offset = f.lseek(0, SEEK_CUR);
eDebug("at %08llx / %08llx (%d %%)", offset, length, (int)(offset * 100 / length));
- int r = f.read(buffer, sizeof(buffer));
+ int r = f.read(offset, buffer, sizeof(buffer));
if (!r)
break;
if (r < 0)
return r;
+ offset += r;
parser.parseData(offset, buffer, r);
}