gnunet-svn
[Top][All Lists]
Advanced

[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;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]