[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21145 - Extractor/src/main
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21145 - Extractor/src/main |
Date: |
Tue, 24 Apr 2012 20:27:29 +0200 |
Author: grothoff
Date: 2012-04-24 20:27:29 +0200 (Tue, 24 Apr 2012)
New Revision: 21145
Modified:
Extractor/src/main/extractor.c
Log:
-LRN: deduplication and fix
Modified: Extractor/src/main/extractor.c
===================================================================
--- Extractor/src/main/extractor.c 2012-04-24 18:26:59 UTC (rev 21144)
+++ Extractor/src/main/extractor.c 2012-04-24 18:27:29 UTC (rev 21145)
@@ -2538,15 +2538,17 @@
{
pl_pick_next_buffer_at (plugin, plugin->fpos + plugin->map_size + pos,
0);
}
- if (plugin->fsize + pos - 1 >= plugin->fpos && plugin->fsize + pos - 1 <=
plugin->fpos + plugin->map_size)
+ if (plugin->fsize + pos - 1 < plugin->fpos || plugin->fsize + pos - 1 >
plugin->fpos + plugin->map_size)
{
- plugin->shm_pos = plugin->fsize + pos - plugin->fpos;
- return plugin->fpos + plugin->shm_pos - 1;
+ if (0 != pl_pick_next_buffer_at (plugin, plugin->fsize - MAX_READ, 0))
+ return -1;
}
- if (0 != pl_pick_next_buffer_at (plugin, plugin->fsize - MAX_READ, 0))
- return -1;
plugin->shm_pos = plugin->fsize + pos - plugin->fpos;
- return plugin->fsize + pos - 1;
+ if (plugin->shm_pos < 0)
+ plugin->shm_pos = 0;
+ else if (plugin->shm_pos >= plugin->map_size)
+ plugin->shm_pos = plugin->map_size - 1;
+ return plugin->fpos + plugin->shm_pos - 1;
break;
}
return -1;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21145 - Extractor/src/main,
gnunet <=