[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r23585 - Extractor/src/main
From: |
gnunet |
Subject: |
[GNUnet-SVN] r23585 - Extractor/src/main |
Date: |
Mon, 3 Sep 2012 16:06:39 +0200 |
Author: grothoff
Date: 2012-09-03 16:06:39 +0200 (Mon, 03 Sep 2012)
New Revision: 23585
Modified:
Extractor/src/main/extractor_datasource.c
Log:
-simplify logic
Modified: Extractor/src/main/extractor_datasource.c
===================================================================
--- Extractor/src/main/extractor_datasource.c 2012-09-03 14:02:48 UTC (rev
23584)
+++ Extractor/src/main/extractor_datasource.c 2012-09-03 14:06:39 UTC (rev
23585)
@@ -320,16 +320,14 @@
bfds_seek (struct BufferedFileDataSource *bfds,
int64_t pos, int whence)
{
+ uint64_t npos;
+
switch (whence)
{
case SEEK_CUR:
- if (bfds->fpos + bfds->buffer_pos + pos < 0)
+ npos = bfds->fpos + bfds->buffer_pos + pos;
+ if (npos > bfds->fsize)
{
- LOG ("Invalid seek operation\n");
- return -1;
- }
- if (bfds->fpos + bfds->buffer_pos + pos > bfds->fsize)
- {
LOG ("Invalid seek operation to %lld from %llu (max is %llu)\n",
(long long) pos,
bfds->fpos + bfds->buffer_pos,
@@ -341,15 +339,15 @@
(bfds->buffer_pos + pos >= 0) ) )
{
bfds->buffer_pos += pos;
- return bfds->buffer_pos + bfds->fpos;
+ return npos;
}
if (0 != bfds_pick_next_buffer_at (bfds,
- bfds->fpos + bfds->buffer_pos + pos))
+ npos))
{
LOG ("seek operation failed\n");
return -1;
}
- return bfds->fpos;
+ return npos;
case SEEK_END:
if (pos > 0)
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r23585 - Extractor/src/main,
gnunet <=